更改ActionBar Spinner文本颜色

时间:2014-08-13 11:01:09

标签: android android-actionbar android-spinner android-appcompat

我已经阅读了很多方法来在ActionBar中更改微调器textColor,但是我真的无法弄明白我需要什么。

这就是我的操作栏微调器:

enter image description here

enter image description here

如您所见,我在微调器上有白色文字。我需要把它改成黑色。

我的res / styles文件就是这个。

<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">

        <!-- API 14 theme customizations can go here. -->
        <item name="android:dropDownListViewStyle">@style/MyDropDownListView</item>
        <item name="android:dropDownItemStyle">@style/MyDropDownItemView</item>
        <!-- <item name="android:textColor">@color/white</item> -->
    </style>

    <!-- ActionBar styles -->
    <style name="MyDropDownListView" parent="@style/Widget.AppCompat.ListView.DropDown">
        <item name="android:background">@color/white</item>
    </style>

</resources>

我将背景更改为白色,但现在我需要将文字更改为黑色,我无法执行此操作。

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

我认为最简单的方法是为您的微调器创建一个自定义微调器项目布局,但只有textview&amp;它的颜色设置为你想要的颜色。

<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 navigation spinner text color

<强>更新

从xml语句中删除“android:”部分,该部分会从appcompat库中更改某些内容。在我的应用程序中它完成了诀窍所以不要这样:

<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">

        <!-- API 14 theme customizations can go here. -->
        <item name="android:dropDownListViewStyle">@style/MyDropDownListView</item>
        <item name="android:dropDownItemStyle">@style/MyDropDownItemView</item>
        <!-- <item name="android:textColor">@color/white</item> -->
    </style>

删除“android:”部分:

<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">

        <!-- API 14 theme customizations can go here. -->
        <item name="dropDownListViewStyle">@style/MyDropDownListView</item>
        <item name="dropDownItemStyle">@style/MyDropDownItemView</item>
        <!-- <item name="textColor">@color/white</item> -->
    </style>

更新2:

所以我会发布我的appcompat应用程序样式,所以也许你可以看到我没看到的内容。我有2个文件夹:resources / values&amp;资源/值-V14。

在资源/值中,我的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>

在我的resources / 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>

也许尝试这个文件夹结构并创建2个不同的styles.xml文件。否则我很无能为力。祝你好运!

答案 1 :(得分:0)

`<resources xmlns:android="http://schemas.android.com/apk/res/android">

<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">

    <!-- API 14 theme customizations can go here. -->
    <item name="android:dropDownListViewStyle">@style/MyDropDownListView</item>
    <item name="android:dropDownItemStyle">@style/MyDropDownItemView</item>
    <!-- <item name="android:textColor">@color/white</item> -->
</style>

<!-- ActionBar styles -->
<style name="MyDropDownListView" parent="@style/Widget.AppCompat.ListView.DropDown">
    <item name="android:background">@color/white</item>
    <item name="android:textColor">#000000</item>
</style>