亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

android自定義控件怎么配置declare-styleable屬性

小億
112
2023-11-10 12:38:59
欄目: 編程語言

要配置自定義控件的屬性,需要使用declare-styleable標簽來定義屬性集合,并在布局文件中使用這些屬性。

首先,在res/values目錄下的attrs.xml文件中定義屬性集合,例如:

<resources>
    <declare-styleable name="MyCustomView">
        <attr name="textColor" format="color" />
        <attr name="textSize" format="dimension" />
        <attr name="showIcon" format="boolean" />
    </declare-styleable>
</resources>

在這個例子中,我們定義了一個名為MyCustomView的屬性集合,并添加了三個屬性:textColortextSizeshowIcon

然后,在自定義控件的布局文件中,可以使用這些屬性。例如:

<com.example.MyCustomView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:textColor="@android:color/black"
    app:textSize="16sp"
    app:showIcon="true" />

在這個例子中,我們使用了自定義控件MyCustomView,并設置了三個屬性的值:textColortextSizeshowIcon

最后,在自定義控件的代碼中,可以通過obtainStyledAttributes方法獲取這些屬性的值。例如:

public class MyCustomView extends View {
    private int textColor;
    private float textSize;
    private boolean showIcon;

    public MyCustomView(Context context, AttributeSet attrs) {
        super(context, attrs);

        TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.MyCustomView);
        textColor = typedArray.getColor(R.styleable.MyCustomView_textColor, Color.BLACK);
        textSize = typedArray.getDimension(R.styleable.MyCustomView_textSize, 16);
        showIcon = typedArray.getBoolean(R.styleable.MyCustomView_showIcon, false);

        typedArray.recycle();
    }
}

在這個例子中,我們通過obtainStyledAttributes方法獲取了textColortextSizeshowIcon屬性的值,并存儲在相應的成員變量中。

注意:在獲取屬性值后,需要及時調用recycle方法回收TypedArray對象,以避免內存泄漏。

0
保德县| 丰都县| 松溪县| 宁阳县| 綦江县| 常山县| 鹤庆县| 汪清县| 黑水县| 延吉市| 井陉县| 邵阳县| 白朗县| 阿鲁科尔沁旗| 射洪县| 襄汾县| 察隅县| 抚远县| 洪江市| 峨山| 东乡| 通州区| 喀喇| 潼关县| 靖西县| 苍山县| 衢州市| 芦山县| 关岭| 富顺县| 巢湖市| 嘉峪关市| 六枝特区| 厦门市| 浙江省| 正安县| 依兰县| 胶南市| 革吉县| 华池县| 喀喇沁旗|