自定義view的分類

2021-09-27 07:47:21 字數 587 閱讀 4210

1 繼承view重寫ondraw方法

適用範圍:實現一些不規則的效果

特點:需要自己實現padding與warp_content效果

2繼承viewgroup派生出的特殊layout

使用範圍:實現自定義布局,當某種效果看起來像幾種view組合在一起的時候,可以採用這種方法來實現。

特點:較為複雜,需要合理的處理viewgroup及其子元素的measure與layout過程;padding屬性需要自己實現

3 繼承特定的view(例如textview)。

使用範圍:擴充套件已知某種view的功能,較易實現,不需要自己支援wrap_content和padding等

注意:需要加上super.ondraw(canvas)才能擁有父類控制項的一些特性。例如,繼承textview的控制項需要         super.ondraw(canvas),text中的內容才會顯示;沒有用就不會顯示。

4 繼承特定的viewgroup(例如linearlayout)

使用範圍:同2,一般來說,2所能實現的效果4都能實現,只是2更接近view的底層。

特點:測量與布局不需要我們實現,在構造方法中需要動態載入乙個布局。

Android自定義View 自定義元件

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

自定義view之自定義屬性

1.首先在res的values檔案下新建乙個名為attrs.xml檔案 在該xml檔案中編寫我們需要的屬性 declare styleable後面的name必須要與接下來要自定義的view名一致。attr 後面的name表示需要自定義的屬性,format表示這些屬性的型別 2.新建乙個類繼承text...

自定義view 二

自定義view的最重要的乙個部分是自定義它的外觀。根據你的程式的需求,通過ondraw方法實現繪製。在ondraw中,會傳遞給你乙個canvas。canvas封裝了繪製圖形的方法。還需要自定義乙個 paint去定義顏色樣式的填充 簡單來說 canvas定義你在螢幕上畫的圖形,而paint定義顏色,樣...