我在 styles.xml 中定义了一个自定义样式:
<style name="MyCustomStyle">
<item name="android:background">@drawable/my_background</item>
<item name="android:textColor">@color/my_custom_color</item>
</style>
和my_custom_color
在 colors.xml 中定义:
<color name="my_custom_color">#202224</color>
我正在尝试以编程方式将这些值应用于TextView
:
void setStyle(Activity activity, TextView textView, int styleResId) {
int[] attrs = { android.R.attr.background, android.R.attr.textColor };
TypedArray style = activity.obtainStyledAttributes(styleResId, attrs);
textView.setBackground(style.getDrawable(0));
int color = style.getColor(1, -1);
textView.setTextColor(color);
style.recycle();
}
设置背景的部分工作正常但由于某种原因,color
总是-1
而不是我在colors.xml中定义的颜色。
我做错了什么?