【问题标题】:Android spinner divider colorAndroid 微调器分隔线颜色
【发布时间】:2013-09-05 16:28:38
【问题描述】:

我有一个这样的微调器

<style name="OptionsSpinner" parent="android:Widget.Spinner">
    <item name="android:background">@drawable/spinner_background</item>
    <item name="android:spinnerMode">dropdown</item>
    <item name="android:dropDownListViewStyle">@style/SpinnerDropdown</item>
</style>

<style name="SpinnerDropdown">
    <item name="android:divider">#ff0000</item>
</style>

但是样式 SpinnerDropDown 没有任何效果,分隔线是灰色的或任何默认值。如何在微调器中设置分隔线的样式?

【问题讨论】:

    标签: android


    【解决方案1】:

    您在Spinner 小部件的style 属性中直接使用此样式? 如果是这样,这就是它不起作用的原因。您应该使用应用程序的theme 设置分隔线的样式。

    要设置分隔线的样式,请执行以下操作:

    在您的应用程序主题中,您应该有 item android:dropDownListViewStyle:

    <style name="applicationTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:dropDownListViewStyle">@style/mySpinnerStyle</item>
    </style>
    

    并且,分隔线的样式(mySpinnerStyle)定义在:

    <style name="mySpinnerStyle" parent="android:Widget.ListView.DropDown">
        <item name="android:divider">#00ff00</item>
        <item name="android:dividerHeight">1dp</item>
    </style>
    

    现在你的Spinner 上有一个绿色分隔线:)

    【讨论】:

    • 当 Spinner 设置为下拉菜单的默认模式时,此处应用的样式有效,如果 Spinner 模式设置为对话框,则样式无效!
    • 为什么直接在spinner的style属性中使用时没有应用样式?有什么想法吗?
    • 如果我的活动中有两个需要不同分隔线颜色的微调器怎么办?在这种情况下,您建议的方法将不起作用
    • @DevAndroid 在下面查看我的答案
    • 下面的答案在哪里?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-19
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    相关资源
    最近更新 更多