自定义微调器具有白色文本颜色

时间:2012-05-29 08:53:56

标签: android android-widget android-spinner

我希望我的Action Bar微调器以白色显示它的文本(就像谷歌地图应用程序一样), 但我很难到达那里..

我正在尝试这样的事情:

   <style name="Mepo.Spinner" parent="@android:style/Widget.Spinner">
   <item name="android:spinnerItemStyle">@style/StandardSpinnerItem</item>  
   <item name="spinnerItemStyle">@style/StandardSpinnerItem</item>
   </style>

  <style name="StandardSpinnerItem" parent="@android:style/Widget.TextView.SpinnerItem">
  <item name="android:textAppearance">@android:color/white</item>
  <item name="android:textColor">@android:color/white</item>
  </style>

但这没有效果。 我知道这可能是他被问到但是我找不到合适的解决方案。 有任何想法吗? 如果重要的话,我实际上正在使用sherlock动作栏

2 个答案:

答案 0 :(得分:1)

最后这就是我所做的,也许这会对某人有所帮助:

<style name="Theme.Styled" parent="Theme.Sherlock.Light.DarkActionBar">
        <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
        <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
        <item name="actionDropDownStyle">@style/xxx.ActionBar.DropDown.Style</item>
        <item name="android:actionDropDownStyle">@style/xxx.ActionBar.DropDown.Style</item>
    </style>
   <style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
        <item name="background">#0B2F39</item>
        <item name="android:background">#0B2F39</item>
        <item name="backgroundSplit">#0B2F39</item>
        <item name="android:backgroundSplit">#0B2F39</item>
    </style>

    <style name="xxx.ActionBar.DropDown.Style" parent="Widget.Sherlock.Light.Spinner.DropDown.ActionBar">
        <item name="android:background">@drawable/abs__spinner_ab_holo_dark</item>
    </style>

如果您有任何评论或更正,我很乐意听到他们

答案 1 :(得分:1)

如果您已经使用了自定义主题(扩展了基本主题并对其进行了自定义),并且您只想为一个活动自定义微调器,则需要执行此操作:

<style name="Theme.MyTheme" parent="Theme.Sherlock">
... your other items
</style>

<style name="Theme.MyTheme.Spinner" parent="Theme.MyTheme">
    <item name="android:spinnerItemStyle">@style/SpinnerItem</item>
    <item name="android:spinnerDropDownItemStyle">@style/SpinnerItem.DropDownItem</item>
</style>

<style name="Spinner" parent="@android:style/Widget.Spinner">
    <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">@android:color/white</item>
</style>
<style name="SpinnerItem.DropDownItem" parent="@android:style/Widget.Holo.Light.DropDownItem.Spinner">
    <item name="android:textColor">@android:color/white</item>
</style>

要在活动中使用此样式,请使用此选项:

<activity
    android:name=".YourActivity"
    android:theme="@style/Theme.MyTheme.Spinner"  >
</activity>

如果要为所有活动(您的应用程序)自定义微调器,请将项目从Theme.MyTheme.Spinner移至Theme.MyTheme

<style name="Theme.MyTheme" parent="Theme.Sherlock">
   ... your other items
   <item name="android:spinnerItemStyle">@style/SpinnerItem</item>
   <item name="android:spinnerDropDownItemStyle">@style/SpinnerItem.DropDownItem</item>
</style>