Android自定義View訓練 1

2021-07-25 21:42:43 字數 982 閱讀 9893

前言:最近這段時間想根據網上部落格的案例,自己練習自定義view,**僅僅作為練習用,還有很多不足之處,見諒

案例取自:

先上傳原始碼

public class practiceview1 extends view 

public practiceview1(context context, attributeset attrs)

@override

protected void onmeasure(int widthmeasurespec, int heightmeasurespec)

if(mheightmode == measurespec.at_most)

setmeasureddimension((int) mrectwidth, (int) mrectheight);

log.d("sunj:", "mrectwidth " + string.valueof(mrectwidth) + ", mrectheight " + string.valueof(mrectheight));

}@override

protected void ondraw(canvas canvas)

}

效果圖:

要點:

1.重寫onmeasure()是為了在xml中設定layout_weight/layout_height屬性為wrap_content時,不會變成match_parent

2.在ondraw()裡面的矩形尺寸是由onmeasure()來得到的,這樣子,在xml中設定具體的寬和高時,該矩形的大小同樣也會發生相應的變化,這樣,才能做到隨意改變大小;而不會出現當設定具體的寬和高時,view缺胳膊少腿或者是多出空白的區域

實訓 自定義View

1.自定義view分為自繪控制項和重寫控制項 2.自繪控制項 建立乙個類繼承view,通過重寫ondraw方法,使用canvas,paint等工具完成繪製,然後在activity的布局中引用建立乙個子執行緒,每隔1s重新整理new thread new runnable catch interrup...

Android自定義View 自定義元件

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

Android自定義View實現

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