更改ActionBar Spinner颜色

时间:2014-11-19 16:10:12

标签: android android-actionbar

所提供的解决方案并非对我有用,所以我决定提出自己的问题。

我想将青色区域内的文字更改为白色,而不更改微调器项目的文本

enter image description here 的themes.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Base application theme. -->
<!-- the theme applied to the application or activity -->
<style name="LibetasTheme" parent="android:Theme.Holo.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/ActionBar</item>
    <item name="android:actionBarTabStyle">@style/ActionBarTabStyle</item>
    <item name="android:actionBarTabBarStyle">@style/ActionBarTabBarStyle</item>
    <item name="android:actionBarTabTextStyle">@style/ActionBarTabTextStyle</item>
    <item name="android:actionBarItemBackground">@drawable/libertasapp_actionbar_item_background</item>
    <item name="android:actionBarWidgetTheme">@style/Theme.stylingactionbar.widget</item>
    <item name="android:actionDropDownStyle">@style/DropDownNav</item>
    <item name="android:popupMenuStyle">@style/PopupMenu</item>
    <item name="android:dropDownListViewStyle">@style/DropDownListView</item>
    <item name="android:spinnerDropDownItemStyle">@style/DropDownItem</item>
    <item name="android:spinnerItemStyle">@style/SpinnerItem</item>
    <item name="android:listSeparatorTextViewStyle">@style/PreferenceListHeader</item>
    <item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:actionModeBackground">@color/libertas_orange</item>
</style>
</resources>

Styles.xml

 <?xml version="1.0" encoding="utf-8"?>

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

    <!-- ActionBar styles-->
    <style name="ActionBar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
        <item name="android:background">@color/libertas_orange</item>
        <item name="android:backgroundStacked">@color/libertas_white</item>
        <item name="android:backgroundSplit">@color/libertas_orange</item>
        <item name="android:indeterminateProgressStyle">@style/ActionBarProgressBar.MyStyle</item>
    </style>

    <style name="ActionBarTabTextStyle" parent="android:Widget.Holo.Light.ActionBar.TabText">
        <item name="android:textColor">@color/libertas_gray</item>
    </style>

    <style name="ActionBarTabBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar.TabBar">
        <item name="android:showDividers">none</item>
    </style>

    <style name="ActionBarTabStyle" parent="@android:style/Widget.Holo.ActionBar.TabView">
        <item name="android:background">@drawable/libertasapp_actionbar_tab_indicator</item>
    </style>

    <style name="PopupMenu" parent="@android:style/Widget.Holo.ListPopupWindow">
        <item name="android:popupBackground">@drawable/img_menu_dropdown_panel</item>
    </style>

    <style name="DropDownListView" parent="@android:style/Widget.Holo.ListView.DropDown">
        <item name="android:listSelector">@color/libertas_dark_orange</item>
    </style>

    <style name="Theme.stylingactionbar.widget" parent="@android:style/Theme.Holo">
        <item name="android:popupMenuStyle">@style/PopupMenu</item>
        <item name="android:dropDownListViewStyle">@style/DropDownListView</item>
    </style>

    <style name="DropDownNav" parent="@android:style/Widget.Holo.Spinner">
        <item name="android:background">@drawable/libertasapp_spinner_background_ab</item>
        <item name="android:popupBackground">@drawable/img_menu_dropdown_panel</item>
        <item name="android:dropDownSelector">@android:color/black</item>
    </style>

    <style name="DropDownItem" parent="@android:style/Widget.Holo.Light.DropDownItem.Spinner">
        <item name="android:textAppearance">?android:attr/textAppearanceInverse</item>
    </style>

    <style name="SpinnerItem" parent="@android:style/Widget.Holo.TextView.SpinnerItem">
        <item name="android:textAppearance">?android:attr/textAppearanceInverse</item>
    </style>
    <!-- End ActionBar styles-->

    <!-- Text styles-->
    <style name="BusNumber" parent="@android:style/TextAppearance.Large">
        <item name="android:textColor">@color/libertas_orange</item>
        <item name="android:textSize">60dp</item>
    </style>
    <style name="BusLine" parent="@android:style/TextAppearance.Large">
        <item name="android:textColor">@color/libertas_text_lightgray</item>
        <item name="android:textSize">22dp</item>
    </style>
    <style name="BusNext" parent="@android:style/TextAppearance.Large">
        <item name="android:textColor">@color/libertas_text_darkgray</item>
        <item name="android:textSize">16dp</item>
        <item name="android:textStyle">bold</item>
    </style>
    <style name="BusNextTime" parent="@android:style/TextAppearance.Large">
        <item name="android:textColor">@color/libertas_text_darkgray</item>
        <item name="android:textSize">16dp</item>
        <item name="android:textStyle">bold</item>
    </style>
    <!-- End Text styles-->

    <!-- Styling loading animation-->
    <style name="ActionBarProgressBar.MyStyle" parent="@android:style/Widget.Holo.ProgressBar.Small">
        <item name="android:minWidth">24dp</item>
        <item name="android:maxWidth">24dp</item>
        <item name="android:minHeight">24dp</item>
        <item name="android:maxHeight">24dp</item>
    </style>
    <!-- End styling loading animation-->


    <style name="Widget.TextView.ListSeparator" parent="@android:style/Widget.TextView">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textSize">14sp</item>
        <item name="android:gravity">center_vertical</item>
    </style>

    <style name="PreferenceListHeader" parent="Widget.TextView.ListSeparator">
        <item name="android:textColor">@color/libertas_orange</item>
        <item name="android:textAllCaps">true</item>
        <item name="android:background">@drawable/img_list_category</item>
        <item name="android:paddingTop">@dimen/list_category_padding_top</item>
        <item name="android:paddingBottom">@dimen/list_category_padding_bottom</item>
    </style>

    <style name="MyActionButtonOverflow" parent="android:style/Widget.Holo.ActionButton.Overflow">
        <item name="android:src">@drawable/img_ic_overflow_white_16</item>
    </style>

</resources>

1 个答案:

答案 0 :(得分:0)

您是否尝试将spinnerItemStyle设为actionBarWidgetTheme的孩子?像这样:

<style name="LibetasTheme" parent="android:Theme.Holo.Light.DarkActionBar">        
    <item name="android:actionBarWidgetTheme">@style/myapp.actionBarWidgetTheme</item>
</style>

<style name="Theme.stylingactionbar.widget" parent="@android:style/Theme.Holo">
    <item name="android:spinnerItemStyle">@style/SpinnerItem</item>
    <item name="android:spinnerDropDownItemStyle">@style/SpinnerDropDownItem</item>
</style>

<style name="SpinnerItem" parent="@android:style/Widget.TextView.SpinnerItem">
    <item name="android:textColor">#FFFFFF</item>
</style>

<style name="SpinnerDropDownItem" parent="@android:style/Widget.DropDownItem.Spinner">
    <item name="android:textColor">#000000</item>
</style>