无法更改Spinner分隔线的颜色

9

我的旋转器定义如下,但似乎 android:divider="#66BC31" 没有效果,我仍然得到白色的分隔符:

<Spinner
    android:id="@+id/spinner"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="15dip"
    android:layout_marginBottom="15dip"
    android:layout_marginLeft="10dip"
    android:layout_marginRight="10dip"
    android:textColor="#ffffff"
    android:divider="#66BC31"
    android:background="@drawable/spina" />

这是我的代码,在其中我更改了旋转框字体并选择下拉资源:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(Roaming.this,
            R.layout.roaming_spinner, data) {

        public View getView(int position, View convertView, ViewGroup parent) { 
            View v = super.getView(position, convertView, parent);

            Typeface externalFont = Typeface.createFromAsset(getAssets(),
                    "fonts/HelveticaNeueLTCom-Lt.ttf");
            ((TextView) v).setTypeface(externalFont);

            return v;
        }

        public View getDropDownView(int position, View convertView,
                ViewGroup parent) { // we need this so we can use custom
                                    // font for spinner (open)
            View v = super.getDropDownView(position, convertView, parent);

            Typeface externalFont = Typeface.createFromAsset(getAssets(),
                    "fonts/HelveticaNeueLTCom-Lt.ttf");
            ((TextView) v).setTypeface(externalFont);


            return v;
        }
    };
    adapter.setDropDownViewResource(R.layout.roaming_spinner_row);

我还尝试在roaming_spinner_row.xml和roaming_spinner.xml中添加了android:divider="#66BC31"这一行,这些文件声明了关闭和打开的下拉列表的文本大小和颜色,但是没有成功。


尝试这个实现:https://dev59.com/rkzSa4cB1Zd3GeqPo7e1 - Mark Mooibroek
2个回答

9
我终于在这个链接和一些研究后找到了答案。
你需要在activity的主题中定义:
        <item name="android:dropDownListViewStyle">@style/App.Style.Spinner</item>

然后使用适当的样式进行创建
   <style name="App.Style.Spinner" parent="@style/Widget.Sherlock.Light.ListView.DropDown">
           <item name="android:dividerHeight">10dip</item>
           <item name="android:divider">@drawable/mydivider</item>
   </style>

0
在{{link1:Spinner的文档}}中没有提到android:divider

有没有其他方法可以更改下拉框分隔线的颜色或者将其移除? - DixieFlatline
我在Android方面缺乏经验,所以我不知道其他方法 =(。 - dusan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接