如何设置文本颜色的TextView从主题变量在XML布局?



如果我设置颜色简单的方式,像这个android:textColor=?myThemeVariable,然后我得到膨胀错误。如何解决这个问题?

如果我理解正确的话,您正在寻找的是您的TextView或其他视图要与暗模式亮模式的配置对齐,对吗?

所以你需要两个style.xml文件。

  1. res/可拉的/价值/themes.xml
  2. res/可拉的/价值/themes.xml(晚上)

在每一个里面你需要分配颜色如下:

<item name="android:textColorPrimary">@color/white</item>(night)

<item name="android:textColorPrimary">@color/black</item>(light)

所以当你想在TextView中遵循这一规则时,你可以使用?android:textColorPrimary,如下所示:

android:textColor = "?android:textColorPrimary"

另一个选择是不使用themes,你可以创建两个colors.xml

  1. 值/colors.xml
  2. values-night/colors.xml

这样就有了相同名称的颜色但是改变了十六进制,所以没有了

<color name="md_theme_light_text_color">#000000</color>
<color name="md_theme_dark_text_color">#ffffff</color>

在每个colors.xml上使用:

<color name="textColor">#000000</color> //values/colors.xml
<color name="textColor">#ffffff</color> //values-nigh/colors.xml

所以在你的xml中你可以使用textColor如下:

android:textColor = "@color/textColor"

最新更新