这是我的styles.xml文件
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">#6d3655</item>
<item name="colorPrimaryDark">#442142</item>
<item name="colorAccent">#de8573</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
我想从布局中访问colorPrimary。 例如,我尝试将颜色应用于某些TextField。我将“textColor”属性设置为“@ style / AppTheme.colorPrimary”,但它不起作用。为什么呢?
答案 0 :(得分:1)
您不必将颜色保存为colors.xml
中的资源。您可以直接从主题中引用颜色(或任何其他值),如:
android:textColor="?attr/colorPrimary"
?attr/
是访问主题属性值的语法。
答案 1 :(得分:0)
您必须将颜色保存在colors.xml
文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#6d3655</color>
<color name="colorPrimaryDark">#442142</color>
<color name="colorAccent">#de8573</color>
</resources>
此外,在您的styles.xml
文件更改中,
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
所以,现在你可以从布局元素中访问颜色了
<Button
android:background="@color/colorPrimary"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
答案 2 :(得分:-1)
颜色位于color.xml文件中,可以在res&gt;中找到。值&gt; color.xml
要将颜色应用于任何视图,请使用
@color后跟名字 实施例 -
机器人:背景= “@颜色/ colorPrimary”