我正在为自定义视图实现自己<declare-styleable>
的视图(按照此处的说明进行操作)。我希望能够将整数数组指定为可能的 XML 属性之一。我如何:
attrs.xml
在?中将整数数组指定为 XML 属性- 调用我的自定义视图后从TypedArray中获取它
obtainStyledAttributes()
?
我正在为自定义视图实现自己<declare-styleable>
的视图(按照此处的说明进行操作)。我希望能够将整数数组指定为可能的 XML 属性之一。我如何:
attrs.xml
在?中将整数数组指定为 XML 属性obtainStyledAttributes()
?您可以将其声明为参考。
<declare-styleable name="MyView">
<attr name="array" format="reference"/>
</declare-styleable>
看起来TypeArray
没有getIntArray
方法,所以你必须直接从资源中获取它。
final TypedArray array = context.obtainStyledAttributes(attrs, R.styleable.MyView);
final int id = array.getResourceId(R.styleable.MyView_array, 0);
if (id != 0) {
final int[] values = getResources().getIntArray(id);
}
array.recycle()