在您从下拉菜单中选择一个项目后,我正在尝试更改在微调器按钮中显示的单个项目的文本颜色。我已经仔细阅读了Android SDK中的themes.xml和styles.xml一个小时了,我似乎找不到微调器从哪里获得颜色值。
为了澄清,我并不是要更改下拉项的颜色,而是在没有下拉项的情况下更改微调器显示的文本的颜色。我想你可以把它叫做微调器的“按钮”文本。
发布于 2011-05-28 09:55:50
我想这可能是styles.xml中的一小部分
<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>
-= EDIT =-结果如下:
下面是它是如何完成的:
<?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"
发布于 2012-02-19 02:15:32
是啊,CaseyB是对的。
下面是我如何设置微调器文本颜色的方法,一个简单的例子:
styles.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" >
现在,所有微调器外部的文本将为绿色,而下拉列表中的文本将为红色。
发布于 2012-07-18 21:47:01
我使用了另一种简单的技术,
从Android res/layout文件夹复制simple_spinner_item.xml和simple_spinner_dropdown_item.xml,并将它们复制到您的项目中。
然后修改以下几行
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, Android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(Android.R.layout.simple_spinner_dropdown_item);
spinnerSubject.setAdapter(adapter);
作为:
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, R.layout.simple_spinner_item);
adapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item);
spinnerSubject.setAdapter(adapter);
剩下的很简单,您现在可以编辑simple_spinner_item.xml以编辑微调器小部件上一个可见项的外观,并编辑simple_spinner_dropdown_item.xml以更改下拉列表的外观。
例如,我的活动布局包含:
<Spinner
android:id="@+id/mo_spinnerSubject"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:background="@drawable/spinnerset_background" />
我的simple_spinner_item.xml现在包含:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:textColor="@color/custom_white"
android:textSize="16sp" />
simple_spinner_dropdown_item.xml看起来像这样:
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:background="@color/custom_black"
android:ellipsize="marquee"
android:singleLine="true"
android:textColor="@color/custom_white" />
https://stackoverflow.com/questions/6159113
复制相似问题