Android 自定義控制項屬性

2021-09-11 04:23:08 字數 969 閱讀 9065

前言

自定義控制項經常需要一些特殊的配置,新增一些自定義屬性。

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