Android中怎么自定义控件的declare-styleable属性

714
2024/3/21 19:43:02
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要自定义控件的declare-styleable属性,需要在res/values/attrs.xml文件中定义属性,然后在自定义控件的构造方法中获取这些属性。

  1. 在res/values/attrs.xml文件中定义自定义控件的属性,例如:
<resources>
    <declare-styleable name="CustomView">
        <attr name="customText" format="string" />
        <attr name="customTextColor" format="color" />
        <attr name="customTextSize" format="dimension" />
    </declare-styleable>
</resources>
  1. 在自定义控件的构造方法中获取这些属性,例如:
public class CustomView extends View {

    private String customText;
    private int customTextColor;
    private float customTextSize;

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

        TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CustomView);
        customText = a.getString(R.styleable.CustomView_customText);
        customTextColor = a.getColor(R.styleable.CustomView_customTextColor, Color.BLACK);
        customTextSize = a.getDimension(R.styleable.CustomView_customTextSize, 12);
        a.recycle();
    }

    // 然后可以在自定义控件中使用这些属性
}

这样就可以在布局文件中使用自定义控件并设置这些自定义属性了,例如:

<com.example.CustomView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:customText="Hello World"
    app:customTextColor="@color/colorAccent"
    app:customTextSize="18sp" />

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: Android中Espresso的优缺点是什么