给定一个 AttributeSet attrs (比如在 LayoutInflater 里面,尚未创建 view 之前就已经解析出了 attrs)怎样获取特定的属性 呢:
int[] attrsArray = new int[] {
android.R.attr.id, // 0
android.R.attr.background, // 1
android.R.attr.layout_width, // 2
android.R.attr.layout_height // 3
};
TypedArray ta = context.obtainStyledAttributes(attrs, attrsArray);
int id = ta.getResourceId(0 /* index of attribute in attrsArray */, View.NO_ID);
Drawable background = ta.getDrawable(1);
int layout_width = ta.getLayoutDimension(2, ViewGroup.LayoutParams.MATCH_PARENT);
int layout_height = ta.getLayoutDimension(3, ViewGroup.LayoutParams.MATCH_PARENT);
ta.recycle();