我认为最简单的方法是为您的下拉列表创建一个自定义的“spinner item”布局,但只需使用一个文本视图并将其颜色设置为您想要的颜色。
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:textSize="14sp"
android:textColor="#000000" />
这里有一篇文章详细说明如何通过更改xml样式来实现: Android Actionbar导航下拉菜单文本颜色
更新:
删除从appcompat库中更改某些内容的xml语句中的“android:”部分。在我的应用程序中,这个方法起了作用。所以,代替这个:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<!
<item name="android:dropDownListViewStyle">@style/MyDropDownListView</item>
<item name="android:dropDownItemStyle">@style/MyDropDownItemView</item>
<!
</style>
您需要删除“android:”部分:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<!
<item name="dropDownListViewStyle">@style/MyDropDownListView</item>
<item name="dropDownItemStyle">@style/MyDropDownItemView</item>
<!
</style>
更新 2:
我将会分享一下我的appcompat应用程序的样式,希望能够让您看到我看不到的地方。我有两个文件夹:resources/values 和 resources/values-v14。
在 resources/values 文件夹中,我的 style.xml 文件如下所示:
<style name="Theme.Jamesstyle" parent="@style/Theme.AppCompat.Light">
<item name="actionBarStyle">@style/Actionbar.FlatUi</item>
<item name="actionBarTabStyle">@style/ActionBar.FlatUi.Tabs</item>
<item name="actionBarTabTextStyle">@style/ActionBar.FlatUi.Text</item>
<item name="homeAsUpIndicator">@android:color/transparent</item>
</style>
<style name="Actionbar.FlatUi" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="background">@color/bizzumi_light</item>
<item name="backgroundStacked">@color/bizzumi_red</item>
<item name="backgroundSplit">@color/bizzumi_red</item>
<item name="titleTextStyle">@style/TitleColor</item>
<item name="displayOptions">showHome|homeAsUp|showTitle</item>
</style>
<style name="TitleColor" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="textColor">#000099</item>
</style>
在我的资源/values-v14/style.xml文件中,我有:
<style name="Theme.Jamesstyle" parent="@style/Theme.AppCompat.Light">
<item name="android:actionBarStyle">@style/Actionbar.FlatUi</item>
<item name="android:actionBarTabStyle">@style/ActionBar.FlatUi.Tabs</item>
<item name="android:homeAsUpIndicator">@android:color/transparent</item>
<item name="android:actionBarTabTextStyle">@style/ActionBar.FlatUi.Text</item>
</style>
<style name="Actionbar.FlatUi" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@color/bizzumi_light</item>
<item name="android:backgroundStacked">@color/bizzumi_light</item>
<item name="android:backgroundSplit">@color/bizzumi_light</item>
<item name="android:titleTextStyle">@style/TitleColor</item>i
<item name="android:displayOptions">showHome|homeAsUp|showTitle</item><item name="displayOptions">showHome|homeAsUp|showTitle</item></style>
<style name="TitleColor" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">#000099</item>
</style>
也许可以尝试使用这种文件夹结构并创建两个不同的styles.xml文件。否则我就一无所知了。祝你好运!