如何以编程方式设置属性

How to set attribute programmatically

我有一个属性

<attr name="ColorMain" format="reference|color" />

如果我需要在 xml 文件中将其设置为颜色,那么我将编写以下内容

android:textColor="?attr/ColorText"

如何以编程方式执行此操作?

试过这样做,但效果不佳

et_name.setTextColor(R.attr.ColorTextNotActive);

你可以试试这个:

TypedValue typedValue = new TypedValue();
Theme theme = context.getTheme();
theme.resolveAttribute(R.attr.ColorTextNotActive, typedValue, true);
@ColorInt int color = typedValue.data;
et_name.setTextColor(color);