android 自定義view 畫板改變畫筆顏色

2021-09-19 06:52:38 字數 1087 閱讀 2910

在自定義view畫板的時候,想實現多種顏色的繪製

我的想法是:改變畫筆顏色不就可以實現嗎。

於是通過 paint.setcolor(color); 來設定畫筆顏色,一頓操作之後發現,

在繪製之後,改變畫筆顏色,再次繪製的時候,之前的顏色也改變了,這是咋回事呢?

我是在ondraw()中 canvas.drawpath(path, paint)繪製的啊,於是上網找了好久,沒找到解

決辦法再看看canvas.drawpath(path, paint) 這個方法,path, paint是成員變數引數。

path --是繪製的路徑,

paint ---是畫筆,

當每次我改變畫筆顏色時後 path是繪製的所有路徑,

每次ondraw() 都會呼叫 canvas.drawpath(path, paint) 來繪製,這時路徑是所有

繪製的路徑

畫筆顏色時改變了的顏色,所以才會出現,改變畫筆顏色,之前繪製的顏色也會改變。

最終**:初始化 list paths = new arraylist();

paints = new arraylist();

在ontouchevent中當每次按下時:

path = new path();//路徑

//設定畫筆預設配置

paint = new paint();

paint.setcolor(paintcolor);//顏色

paint.setstrokewidth(paintwidth);//線寬

paint.setantialias(true);//抗鋸齒

paint.setstyle(paint.style.stroke); //只繪製圖形輪廓(描邊)

paint.setstrokejoin(paint.join.round);

paths.add(path);

paints.add(paint);

在ondraw()中

if(paints!=null&&paints.size()>0)

}這樣就完美解決了我想要實現的:多種顏色繪製,不論改變畫筆寬度大小也可以

Android自定義View 自定義元件

自繪控制項也分兩種,自定義元件和自定義容器,自定義元件是繼承view類,自定義容器時繼承viewgrounp 今天主要分析下自定義元件 還是舉個例子來的實際些,假如我們要畫乙個最簡單的textview,首先想到的就是canvas.drawtext 方法,怎麼畫了?還是得一步一步來 1 寫乙個myte...

自學自定義view 畫虛線

之前專案中需要虛線,直接在drawable裡寫了xml形式的效果,後來發現在5.0以後的手機上顯示有問題,不知道是偶然還是什麼,就決定自己畫個。效果實在簡單,因為我從來沒有自己畫過自定義view!好了,決定下來就開始畫,買的書上大概看了下有流程,其實還是要熟悉view的繪製過程。1,在values資...

Android自定義View實現

android自定義view實現很簡單 繼承view或者其子類,重寫建構函式 ondraw,onmeasure 等函式,根據繼承的類的不同可能有所不同。如果自定義的view需要有自定義的屬性,需要在values下建立attrs.xml。在其中定義你的屬性。在使用到自定義view的xml布局檔案中需要...