内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用
我试图从下拉列表中选择一个项目后,更改显示在微调按钮中的单个项目的文本颜色。我一直在仔细阅读Android SDK中的themes.xml和styles.xml一个小时,我似乎无法找到Spinner从哪里获取颜色值。
为了澄清,我不想改变下拉项目的颜色,我试图在没有下拉菜单时更改微调器显示文本的颜色。
我认为这可能是半实物文件中的这一点
<style name="Widget.TextView.SpinnerItem"> <item name="android:textAppearance">@style/TextAppearance.Widget.TextView.SpinnerItem</item> </style> <style name="Widget.DropDownItem.Spinner"> <item name="android:checkMark">?android:attr/listChoiceIndicatorSingle</item> </style>
=编辑=-这是结果:
下面是如何做到的:
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="MooTheme" parent="android:Theme"> <item name="android:spinnerItemStyle">@style/MooSpinnerItem</item> </style> <style name="MooSpinnerItem" parent="android:Widget.TextView.SpinnerItem"> <item name="android:textAppearance">@style/MooTextAppearanceSpinnerItem</item> </style> <style name="MooTextAppearanceSpinnerItem" parent="android:TextAppearance.Widget.TextView.SpinnerItem"> <item name="android:textColor">#F00</item> </style> </resources>
然后,只需将其添加到AndroidManifest.xml中的应用程序标记中即可。
android:theme="@style/MooTheme"
下面是我如何设置旋转文本颜色的方法,这是一个简单的例子:
traces.xml
<style name="Theme.NoTitleBar.WithColoredSpinners" parent="@android:style/Theme.NoTitleBar"> <item name="android:spinnerItemStyle">@style/SpinnerItem</item> <item name="android:spinnerDropDownItemStyle">@style/SpinnerItem.DropDownItem</item> </style> <style name="SpinnerItem" parent="@android:style/Widget.TextView.SpinnerItem"> <item name="android:textColor">#00FF00</item> </style> <style name="SpinnerItem.DropDownItem" parent="@android:style/Widget.DropDownItem.Spinner"> <item name="android:textColor">#FF0000</item> </style> </resources>
然后在你的名单中:
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/Theme.NoTitleBar.WithColoredSpinners" >
所有旋转器外面的文本现在将是绿色的,而下拉的文本将是红色的。