Android 自定義View學習 2

2021-06-26 01:32:30 字數 1141 閱讀 4979

為了完成上面的效果還是要用到上一期開頭的四步

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...