11
我爲自定義視圖實現我自己的<declare-styleable>
(按照說明here)。我想能夠指定一個整數數組作爲可能的XML屬性之一。我如何:如何定義一個聲明樣式的整數數組?
- 指定整數數組作爲XML屬性
attrs.xml
? - 在我的自定義視圖中調用
obtainStyledAttributes()
後,從TypedArray得到它嗎?
我爲自定義視圖實現我自己的<declare-styleable>
(按照說明here)。我想能夠指定一個整數數組作爲可能的XML屬性之一。我如何:如何定義一個聲明樣式的整數數組?
attrs.xml
?obtainStyledAttributes()
後,從TypedArray得到它嗎?您可以聲明它作爲參考。
<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()
不要忘記使用TypedArray之後調用array.recycle()。那將在第二行之後。 – jpmcosta