【问题标题】:Custom Spinner with white text color具有白色文本颜色的自定义微调器
【发布时间】:2012-05-29 08:53:55
【问题描述】:

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

我正在尝试这样的事情:

   <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>

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

【问题讨论】:

    标签: android android-widget android-spinner


    【解决方案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>
    

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

    【讨论】:

    • 这怎么可能是对 OP 问题的公认答案?文本颜色没有设置,只有背景颜色。
    【解决方案2】:

    如果您已经使用了自定义主题(您扩展了基本主题并对其进行了自定义)并且您只想为一项活动自定义微调器,您需要这样做:

    <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>
    

    【讨论】:

      猜你喜欢
      • 2019-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多