我不知道我在应用程序中如何更改布局的不同元素的默认颜色,如RadioButton,Checkbox等。现在看到白色,我有一个白色背景。在正常的布局中,我可以通过设置" buttonTint"来解决这个问题。元素到我想要的颜色,但在preferences.xml(使用PreferenceScreen布局)我不能这样做。
我不知道我改变了什么,但我无法回滚。这是我的styles.xml:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorControlNormal">@color/white</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:itemBackground">@color/white</item> <!-- Menu background color -->
<item name="android:itemTextAppearance">@style/myCustomMenuTextAppearance</item>
</style>
<!-- Menu text color -->
<style name="myCustomMenuTextAppearance" parent="@android:style/TextAppearance.Widget.IconMenu.Item">
<item name="android:textColor">#000</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" />
<style name="AnalyzeForeground" parent="android:Theme.Holo.Dialog">
<item name="android:alertDialogStyle">@style/CustomAlertDialogStyle</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:textColorPrimary">#FFFFFF</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:textColor">#FFFFFF</item>
<item name="android:textStyle">normal</item>
<item name="android:textSize">12sp</item>
</style>
<style name="CustomAlertDialogStyle">
<item name="android:bottomBright">@android:color/transparent</item>
<item name="android:bottomDark">@android:color/transparent</item>
<item name="android:bottomMedium">@android:color/transparent</item>
<item name="android:centerBright">@android:color/transparent</item>
<item name="android:centerDark">@android:color/transparent</item>
<item name="android:centerMedium">@android:color/transparent</item>
<item name="android:fullBright">@android:color/transparent</item>
<item name="android:fullDark">@android:color/transparent</item>
<item name="android:topBright">@android:color/transparent</item>
<item name="android:topDark">@android:color/transparent</item>
</style>
修改
我添加了color.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#0098D6</color>
<color name="colorPrimaryDark">#006e99</color>
<color name="colorAccent">#0098D6</color>
<color name="transparent_white_90">#F2FFFFFF</color>
<color name="rating7">#ff6666</color>
<color name="rating8">#ff0000</color>
<color name="rating9">#990000</color>
<color name="rating10">#800080</color>
<color name="white">#FFF</color>
<color name="background_transparent">#585858</color>
</resources>
答案 0 :(得分:1)
问题是您使用了colorControlNormal
作为white
颜色,而overrides
使用了您定义为blue
的控件colorAccent
颜色。
<强> SOLUTION:强>
从colorControlNormal
移除项style
或向colorControlNormal
提供不同的color
。
<item name="colorControlNormal">@color/colorAccent</item>
有关详细信息,请参阅documentation:
colorControlNormal: The color applied to framework controls in their normal state.
希望这会有所帮助〜
答案 1 :(得分:0)
您可以使用通常在res / values / colors.xml中指定的简单颜色资源。
<color name="red">#ffff0000</color>
并使用via 机器人:背景=&#34; FFFF0000&#34;