例如,我有这样的样式,它在values / styles.xml中定义
<style name="subheader">
<item name="android:padding">10dp</item>
</style>
当我试图像这样读取这个值时
theme.obtainStyledAttributes(R.style.subheader, new int[]{android.R.attr.padding}).getString(0)
一切正常,价值等于“10dip”。但是当我读这样的价值时
theme.obtainStyledAttributes(R.style.subheader, new int[]{android.R.attr.color, android.R.attr.padding}).getString(1)
这是问题,值为null。为什么会这样?如何阅读这个值?
P.S。我需要读取任何样式的所有值。我不知道“item”没有定义风格。
P.S.S。更复杂的例子
<style name="subheader">
<item name="android:background">#DAE5E9</item>
<item name="android:layout_margin">10dp</item>
<item name="android:padding">10dp</item>
</style>
的结果
theme.obtainStyledAttributes(R.style.subheader, new int[]{android.R.attr.background, android.R.attr.layout_margin, android.R.attr.padding})
是
0:#DAE5E9
1:10dip
2:10dip
的结果
theme.obtainStyledAttributes(R.style.subheader, new int[]{android.R.attr.background, android.R.attr.layout_margin, android.R.attr.colorBackground, android.R.attr.padding})
是
0:#DAE5E9
1:10dip
2:null
3:null