2
我已經創建了下面的構造函數的自定義視圖子類:如果您可以直接從AttributeSet中讀取,爲什麼需要declare-styleable?
public MyCustomView(Context context, AttributeSet attrs)
{
super(context, attrs);
// get custom "thingy" attribute specified in XML
int thingy = attrs.getAttributeIntValue(MY_NAMESPACE, "thingy", 0);
//rest of constructor
...
}
可以看出,它抓住從它的XML屬性自定義「啄」屬性。這工作非常好,迄今爲止我沒有問題。那麼爲什麼Google會告訴您在declare-styleable
的res/values/attrs.xml
(討論的here)中定義一個自定義視圖的XML屬性並通過調用context.getTheme().obtainStyledAttributes()
(討論here)來應用它們?