我正在尝试在我的应用中提供用户可设置的颜色。在黑背景和黑文本的白色文本在白色背景。我有多个布局,包含许多列表视图,包括标准和自定义适配器。人们建议使用主题,但我没有运气改变所有布局的文本颜色。谁能告诉我一个真正的主题布局,可以实现这一目标?我可以使用myscreen.setBackGroundColor(xx)轻松更改背景颜色,但是当我尝试使用主题更改文本时,它也会更改微调文本。
答案 0 :(得分:13)
使用
<item name="android:spinnerStyle">@style/StandardSpinner</item>
<item name="android:spinnerItemStyle">@style/StandardSpinnerItem</item>
<item name="android:spinnerDropDownItemStyle">@style/StandardSpinnerDropDownItem</item>
在您的主题中,这将覆盖文字样式。
你的风格看起来像这样:
<style name="StandardSpinner" parent="@android:style/Widget.Spinner">
<item name="android:background">@drawable/spinner</item>
</style>
<style name="StandardSpinnerItem" parent="@android:style/Widget.TextView.SpinnerItem">
<item name="android:textAppearance">@style/GameDisplayText</item>
<item name="android:gravity">center_vertical|center_horizontal</item>
</style>
<style name="StandardSpinnerDropDownItem" parent="@android:style/Widget.DropDownItem.Spinner">
<item name="android:textAppearance">@style/GameDisplayText</item>
</style>
答案 1 :(得分:0)
只是一些额外的信息, 为了将主题指向您的应用程序,您需要在AndroidManifest.xml
中定义它离。
<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/Theme">
你应该重用一些默认的样式属性,所以将android默认主题声明为你的父主题
at values / styles.xml或您的主题文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme" parent="@android:style/Theme">
<!-- Widget styles -->
<item name="android:spinnerStyle">@android:style/Widget.Spinner</item>
<item name="android:spinnerDropDownItemStyle">@style/Widget.DropDownItem.Spinner</item>
<item name="android:spinnerItemStyle">@android:style/Widget.TextView.SpinnerItem</item>
</style>