final Resources.Theme theme = context.getTheme();
// TextAppearance is inspected first, but let observe it later
TypedArray a = theme.obtainStyledAttributes(
attrs, com.android.internal.R.styleable.TextView, defStyle, 0);
int n = a.getIndexCount();
for (int i = 0; i < n; i++)
{
int attr = a.getIndex(i);
// huge switch with pattern value=a.getXXX(attr) <=> a.getXXX(a.getIndex(i))
}
a.recycle();
我们在这里可以看到什么?< br >
obtainStyledAttributes(AttributeSet set, int[] attrs, int defStyleAttr, int defStyleRes) < br >
属性集根据文档按主题处理。属性值是逐步编译的。首先从主题填充属性,然后用样式中的值替换值,最后用XML中的特定视图实例的精确值替换其他值
请求的属性数组- com.android.internal.R.styleable.TextView
它是一个普通的常量数组。如果我们正在请求标准属性,我们可以手动构建这个数组