以编程方式将视图的颜色设置为 ?android:attr 颜色属性
Programmatically set a view's color to ?android:attr color attributes
我需要以编程方式将视图的颜色设置为 ?android:attr/textColorPrimary,这是 android 深色主题兼容属性中的一个属性。现在可以使用
获得 colorButtonNormal
R.attr.colorButtonNormal
但不是 ?android:attr/textColorPrimary 和 ?android:attr/colorBackground。无论如何也可以通过编程方式获取这些属性?
您可以使用 android.R.attr.textColorPrimary
.
类似于:
val typedValue = TypedValue();
theme.resolveAttribute(android.R.attr.textColorPrimary, typedValue, true);
val color = ContextCompat.getColor(this, typedValue.resourceId)
在Java中:
TypedValue typedValue = new TypedValue();
getTheme().resolveAttribute(android.R.attr.colorSecondary, typedValue, true);
int color = ContextCompat.getColor(this, typedValue.resourceId);
我需要以编程方式将视图的颜色设置为 ?android:attr/textColorPrimary,这是 android 深色主题兼容属性中的一个属性。现在可以使用
获得 colorButtonNormalR.attr.colorButtonNormal
但不是 ?android:attr/textColorPrimary 和 ?android:attr/colorBackground。无论如何也可以通过编程方式获取这些属性?
您可以使用 android.R.attr.textColorPrimary
.
类似于:
val typedValue = TypedValue();
theme.resolveAttribute(android.R.attr.textColorPrimary, typedValue, true);
val color = ContextCompat.getColor(this, typedValue.resourceId)
在Java中:
TypedValue typedValue = new TypedValue();
getTheme().resolveAttribute(android.R.attr.colorSecondary, typedValue, true);
int color = ContextCompat.getColor(this, typedValue.resourceId);