假设我有这个主题:
<style name="DummyTheme" parent="AppTheme">
<item name="android:textColor">@color/white</item>
<item name="android:windowBackground">@color/black</item>
</style>
现在,在我的活动中,我希望获得此样式的文本颜色和android:windowBackground
颜色。我已经有了这段代码(默认颜色用于调试目的):
TypedArray rootStyle = obtainStyledAttributes(R.style.DummyStyle, new int[]{android.R.attr.textColor, android.R.attr.windowBackground});
@ColorInt int textColor = rootStyle.getColor(0, Color.CYAN);
@ColorInt int backgroundColor = rootStyle.getColor(1, Color.MAGENTA);
rootStyle.recycle();
适用于文字颜色,但不适用于背景颜色:backgroundColor
设置为-1
。不是Color.MAGENTA
,而是-1
。
我还尝试从中获取ColorDrawable
而不是颜色整数,但它也不起作用(其颜色设置为-1
)。
为什么?谢谢!