前言
自定義控制項經常需要一些特殊的配置,新增一些自定義屬性。
1. 自定義屬性
attrs.xml檔案
所有自定義屬性需要在檔案中新增declare-styleable節點來宣告,例如定義屬性background_color設定背景色。
自定義控制項attrdeclareview
自定義控制項繼承view,使用context.obtainstyledattributes(attributeset, int)方法來解析自定義屬性,得到自定義屬性background_color的值,呼叫typedarray.recycle()方法釋放資源,最後設定背景色。
public class attrdeclareview extends view
public attrdeclareview(context context, @nullable attributeset attrs)
public attrdeclareview(context context, @nullable attributeset attrs, int defstyleattr) }}
布局檔案
效果如下
在這裡插入描述
2. 不同控制項使用同一屬性
不同控制項使用相同的自定義屬性名時,兩者會有衝突,需要將屬性名提取到外面進行宣告。
3. 使用系統屬性
attrs.xml檔案
我們需要在attrdeclareview中需要設定字元,同時設定字元的顏色和字型大小。
自定義控制項attrdeclareview
獲取自定義文字資料,並在ondraw(canvas)方法中呼叫。
public class attrdeclareview extends view
if (mtext != null)
}@override
protected void ondraw(canvas canvas) }}
布局檔案
Android自定義控制項 自定義屬性
自定義屬性的過程 1.在res values資料夾中建立attrs的xml檔案。2.寫入標籤,定義子標籤attr,放入自定義屬性的名稱。format 可以用 來同時使用 1 reference 參考某一資源id 2 color 顏色值 3 boolean 布林值 4 dimension 尺寸值 帶有...
Android控制項 自定義屬性
當我們自定義view時,有時候需要提供一些自定義的引數,怎樣來提供這些自定義的屬性呢?步驟如下 1 在res values下建立乙個attrs.xml檔案 2 在自定義view建構函式裡面獲取這些屬性 3 在布局檔案中指定命名空間以及填寫屬性。res values attrs.xml,使用到decl...
android自定義控制項新增自定義屬性
1 如果是自定義控制項,請在style.xml中或attrs.xml中宣告屬性 attr declare styleable 2 在theme中使用自定義的屬性,可以再多個主題中定義不同的屬性值 customize your theme here.color colorprimaryitem col...