【发布时间】:2015-03-09 13:47:38
【问题描述】:
我想更改一些 android UI 元素的颜色。但我更愿意设置一个默认的色调,它适用于所有 UI 元素。我不确定这是否可能。 如果没有,我想设置一些 UI 元素的“tint”-color,如下图所示。有谁能赐教吗?
编辑
根据 Entreco 的建议:
我的样式.xml:
<resources>
<!-- Base application theme. -->
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="android:textColorPrimary">@color/brown</item>
<item name="android:textColorSecondary">@color/brown</item>
<item name="android:textColorTertiary">@color/brown</item>
<item name="android:textColorPrimaryInverse">@color/brown</item>
<item name="android:textColorSecondaryInverse">@color/brown</item>
<item name="android:textColorTertiaryInverse">@color/brown</item>
<item name="colorPrimary">@color/blue</item>
<item name="colorPrimaryDark">@color/blue</item>
<item name="android:actionBarStyle">@style/MyActionBar</item>
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<!-- style for the action bar backgrounds -->
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar">
<item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
<item name="android:subtitleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
<item name="android:background">@color/brown</item>
<item name="titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
<item name="subtitleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
<item name="background">@color/brown</item>
</style>
<style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance">
<item name="android:textColor">@color/brown_light</item>
<item name="android:textSize">24sp</item>
</style>
</resources>
还有我的价值观-v21/styles.xml:
<resources>
<style name="AppTheme" parent="AppTheme.Base">
<item name="android:colorPrimary">@color/blue</item>
<item name="android:colorPrimaryDark">@color/blue</item>
<!-- <item name="android:colorAccent">@color/white</item> -->
</style>
</resources>
在我的清单中:
<application android:theme="@style/AppTheme.Base" >
...
</application>
但是原色还是一样的……???
【问题讨论】:
-
没有简单的方法(对于 API
-
如果您想单独更改每个视图属性,您必须在 XML 布局中为它们设置主题(而不是样式)。例如,只需添加
android: theme="@style/yourThemeHere"
标签: android colors android-styles