在自定義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布局檔案中需要...