為了完成上面的效果還是要用到上一期開頭的四步
1,屬性應該要有顏色,要有速度
<?xml version="1.0" encoding="utf-8"?>
2, 在構造方法中獲得這些屬性
typedarray a = context.obtainstyledattributes(attrs,
r.styleable.viewcircle, defstyle, 0);
int n = a.getindexcount();
for (int i = 0; i < n; i++)
} a.recycle();
3,這次我們不重寫
onmeasure
4
,重寫ondraw
protected void ondraw(canvas canvas)
canvas.rotate(360 / count, 0, 0);
} }
我們注意一下canvas.drawarc(rectf, -90, mprogress, true, mtimer);
我們傳進去的為true效果就是
如果我們傳進去false
可以明顯的看到差別,沒事也可以試試我們這個demo傳進去false會是什麼效果。
接下來為了讓這個進度動起來我們就要用到執行緒來重新整理ui
new thread()
postinvalidate();
try catch (interruptedexception e) }};
}.start();
這樣基本就差不多了。。接下來看看最終效果
專案原始碼
Android自定義View 自定義元件
自繪控制項也分兩種,自定義元件和自定義容器,自定義元件是繼承view類,自定義容器時繼承viewgrounp 今天主要分析下自定義元件 還是舉個例子來的實際些,假如我們要畫乙個最簡單的textview,首先想到的就是canvas.drawtext 方法,怎麼畫了?還是得一步一步來 1 寫乙個myte...
Android自定義View實現
android自定義view實現很簡單 繼承view或者其子類,重寫建構函式 ondraw,onmeasure 等函式,根據繼承的類的不同可能有所不同。如果自定義的view需要有自定義的屬性,需要在values下建立attrs.xml。在其中定義你的屬性。在使用到自定義view的xml布局檔案中需要...
Android 自定義View 一
android的ui介面都是由view和viewgroup及其派生類組合而成的。其中,view是所有ui元件的基類,而viewgroup是容納這些元件的容器,其本身也是從view派生出來的。androidui介面的一般結構可參見下面的示意圖 可見,作為容器的viewgroup可以包含作為葉子節點的v...