【问题标题】:How to style ActionBar.NAVIGATION_MODE_LIST Android如何设置 ActionBar.NAVIGATION_MODE_LIST Android 的样式
【发布时间】:2014-02-24 07:54:12
【问题描述】:

我正在尝试对微调器应用更改。

SpinnerAdapter = new MySpinnerAdapter(getActivity().getApplicationContext(),
            android.R.layout.simple_spinner_dropdown_item, list);

我一直在玩主题,看起来我需要应用它才能进行更改,但是它不起作用。我是否在 SpinnerItem 样式中使用了正确的父级?我错过了什么?

<style name="MyTheme" parent="@style/Theme.AppCompat.Light">
    <item name="android:spinnerStyle">@style/Spinner</item>
</style>


 <style name="Spinner" parent="@android:style/Widget.Spinner">
    <item name="android:background">@color/pending_red</item>
</style>

我在适配器中膨胀了 2 个不同的布局,一个在 public View getDropDownView 中,另一个在 public View getView

看起来 android.R.layout.simple_spinner_dropdown_item 没有任何效果。

找到解决方案

我不得不使用

 <item name="android:actionDropDownStyle">@style/Spinner</item>

而不是

 <item name="android:spinnerStyle">@style/Spinner</item>

在根!

最后都是here

【问题讨论】:

    标签: android styles themes spinner


    【解决方案1】:

    删除

    parent="@android:style/Widget.Spinner"
    

    并替换为:

     <style name="Spinner" parent="@style/Widget.AppCompat.Spinner.DropDown.ActionBar">
        <item name="android:background">@color/pending_red</item>
     </style>
    

    【讨论】:

    • 感谢您指向正确的“父级”,但它仍然没有应用背景颜色。我一直追踪到 appcompat 样式并尝试在那里更改颜色,但即使这样也没有用。我猜我在某个地方漏掉了什么!
    • 可能是因为您设置了默认的android.R.layout.simple_spinner_dropdown_item 并且无法更改。尝试去定制一个
    • 可能是这样,但我意识到我使用的是 spinnerStyle,而不是 actionDropDown!
    • 如果您已经解决并且我的回答对您有帮助,请将其设置为已接受
    猜你喜欢
    • 2013-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-22
    • 2012-03-01
    • 2012-12-19
    • 2011-05-28
    • 1970-01-01
    相关资源
    最近更新 更多