1. 程式人生 > >Android path.op 和canvas.clipPath使用一例

Android path.op 和canvas.clipPath使用一例

因為path.op是Api19新增的,所以想要在Api19以下實現同樣功能需要 採用畫布的clip實現

            path.op(path2, Path.Op.DIFFERENCE);
            path.op(path3, Path.Op.UNION);
            path.op(path4, Path.Op.DIFFERENCE);

VS

            canvas.clipPath(path2, Region.Op.DIFFERENCE);
            canvas.clipPath(path3,Region.Op
.UNION); canvas.clipPath(path4,Region.Op.DIFFERENCE);

ALL:

private void drawPathOpTest(Canvas canvas) {
        Path path = new Path();
        Path path2 = new Path();
        Path path3 = new Path();
        Path path4 = new Path();

        path.addCircle(0, 0, 200, Path.Direction.CW);//最大的圓
path2.addRect(0, -200, 200, 200, Path.Direction.CW);//右邊矩形 path3.addCircle(0, -100, 100, Path.Direction.CW);//上面的小圓 path4.addCircle(0, 100, 100, Path.Direction.CCW);//下面的小圓 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { path.op(path2, Path.Op.DIFFERENCE); path.op
(path3, Path.Op.UNION); path.op(path4, Path.Op.DIFFERENCE); }else{ /** * Api 19下采用畫布的clip實現 */ canvas.clipPath(path2, Region.Op.DIFFERENCE); canvas.clipPath(path3,Region.Op.UNION); canvas.clipPath(path4,Region.Op.DIFFERENCE); //canvas.clipRect() } canvas.drawPath(path, mPaint); }

這裡寫圖片描述

相關推薦

Android path.op canvas.clipPath使用

因為path.op是Api19新增的,所以想要在Api19以下實現同樣功能需要 採用畫布的clip實現 path.op(path2, Path.Op.DIFFERENCE)

Android中PaintCanvas的簡單使用

在 Android 中,Canvas 相當於畫布,而 Paint 相當於畫筆;那麼這兩個配合使用就可以畫出來我們想要的形狀了。 首先我們新建一個類,名字叫 MyView,重寫 onDraw() 方法,程式碼如下: @SuppressLint("AppCompatCustomView") pu

Android的PaintCanvas的使用總結

前言: 在自定義控制元件時,我們有時可能會用到Paint和Canvas這兩個類, Paint相當於我們在畫畫時的畫筆,Canvs相當於我們在畫畫時的畫布, 下面來簡單講一下這兩個類常見的一些用法 Paint的使用總結: setAlpha(int a): 設定畫筆的透明度

Android中javasmali轉化鍵化操作工具java2smali原理分析

最近在小密圈中,有同學諮詢到如何快速的將java檔案轉化成smali檔案,因為我們知道在反編譯之

Android的Paint、CanvasPath基本使用總結

     繪畫是自定義View的基礎,Paint和canvas相當於繪畫中的畫筆和紙,掌握Paint和canvas可以使我們更加容易進行自定義View。 Paint:      一、setAntiAlias

Android:檢視繪製() ------基本的繪圖操作PaintCanvas

大家都知道Android的UI很強大,各種系統控制元件和自定義控制元件,實現了很多絢麗的效果。而這些都離不開我們這篇文章講到的Paint和Canvas。 Android提供了Canvas(畫布)和Paint(畫筆)用來實現檢視的繪製工作。 之所以把P

Android雙緩衝繪圖 BitmapCanvas 看就懂

package graphics; import java.util.Random; import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.gr

高德地圖canvas畫圖結合應用的一些感想()

記錄 src function lose poi pan 高德 工程師 根據地   之前朋友委托有個創業項目,想讓我幫忙,正好那段時間有點閑,半推半就中就答應下來了。   入了團隊才發現,該項目前後端分離,後端工程師已就位主要實現接口,IOS端工程師也已就位,還差一個web

Dual Path Networks(DPN)——種結合了ResNetDenseNet優勢的新型卷積網絡結構。深度殘差網絡通過殘差旁支通路再利用特征,但殘差通道不善於探索新特征。密集連接網絡通過密集連接通路探索新特征,但有高冗余度。

哪裏 esc 數學 itemid tip 視覺 bat tlist badge 如何評價Dual Path Networks(DPN)? 論文鏈接:https://arxiv.org/pdf/1707.01629v1.pdf在ImagNet-1k數據集上,淺DPN超過

android 圖片二維碼識別保存()

style file 長按 oba 成了 qrc 保存圖片 hybrid bin 最新業務開發二維碼識別的功能,這個功能,在很多應用上都有,比如微信長按圖片識別二維碼,如果圖片中存在可以識別的二維碼時,可以增加一個選項 識別二維碼。那麽如何去實現這個功能呢。這裏其實也

React Native 中為IOSAndroid設定不同的Style樣式,套程式碼解決雙端顯示

React Native 開發中,大多數的元件都是IOS和Android通用的,包括大量的功能性程式碼,至少有80%以上的程式碼可以複用,而剩下的一些元件樣式/少量的程式碼會需要區分雙端,但是為了這少量的程式碼把IOS和Android完全區分這明顯不合適,程式碼複用性下降,程式碼維護量上升

福利!NodeJs爬取網路教程並生成PDF檔案,以阮峰JavaScript教程ES6教程為(附原始碼PDF檔案)

前言 你想一夜暴富嗎?你想一夜成名嗎?你想開蘭博基尼泡妞嗎?你想拿鈔票點菸嗎?你想成為世界主宰嗎?那麼,趕緊往下看吧,雖然它不能達成前面所說的任 何一個夢想,但是,你將獲得: 通過命令列將某網站的內容轉成PDF檔案 通過NodeJS爬蟲將某網路教程(例如阮一峰的JavaScript教程和ES6教

Android重新學習記錄心得()--Handler

1.關於Handler,MessageQueue,Looper,Message 主要講了Handler的message傳送,訊息的同步非同步。以前只知道Handler可以傳送訊息,然後一般通過handlerMessage方法來接收各種訊息,發現其實Handler還可設定

小白學安卓():Android系統架構應用開發特色

一、Android架構 Android大致可以分為四層架構: Linux核心層 系統執行庫層 應用框架層 應用層 Linux核心層 Android系統是基於Linux核心的,這一層為Android裝置的各種硬體提供了底層的驅動,如顯示驅動

Android 控制元件之 RecyclerView()—— 載入檢視佈局選擇

本文目錄 一、概述 二、列表檢視的處理 1. item 的佈局檔案 2. 構造 Adapter 類 3. 佈局管理器 1)LinearLayoutManager 2)GridLayoutManager

Android開源專案解析】QQ“鍵下班”功能實現解析——學習Path及貝塞爾曲線的基本使用

早在很久很久以前,QQ就實現了“一鍵下班”功能。何為“一鍵下班”?當你QQ有資訊時,下部會有資訊數量提示紅點,點選拖動之後,就會出現“一鍵下班”效果。本文將結合github上關於此功能的一個簡單實現,介紹這個功能的基本實現思路。 專案地址

Android應用開發-資料儲存介面展現()

常見佈局 相對佈局(RelativeLayout)   相對佈局下控制元件預設位置都是左上角(左對齊、頂部對齊父元素),控制元件之間可以重疊   可以相對於父元素上下左右對齊,相對於父元素水平居中、豎直居中、水平豎直同時居中 android:layout_alignParentRi

Android 百度地圖開發()如何呼叫百度地圖介面在專案中顯示百度地圖以及實現定位

二、下載百度地圖API庫 然後新增到專案中即可。   三、在專案清單AndroidMainifest.xml配置百度地圖API key和新增相關許可權                         四、在專案呼叫百度地圖專案功能,這篇文章就首先講講顯示地圖和定位的功能 首先

Android模組化元件化開發簡單理解(

模組化和元件化可以理解為同一個概念: 將一個app分成多個模組,每個模組都是一個元件(module),開發過程中讓這些元件相互依賴或者單獨除錯某個元件。在釋出的時候將這些元件合併成一個apk。 Android元件化我的理解是 application與library之間相互

Android開發藝術探索筆記() Activity的生命週期啟動模式(1)

Activity作為Android開發中最常用的一個元件,是Android開發人員必須熟悉且掌握的重要內容。同時Activity也是在面試中經常被問到的一個方向。因此,掌握Activity的重要性也不言而喻。這或許也是為什麼任大神會在《Android開發藝術探索