无法更改微调器分隔器的颜色

时间:2011-04-01 09:23:38

标签: android spinner divider

我的微调器被定义为这样,似乎是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);

我还尝试将行android:divider =“#66BC31”添加到roaming_spinner_row.xml和roaming_spinner.xml,其中声明了我的已关闭和打开的微调器的文本大小和颜色,但没有成功。

2 个答案:

答案 0 :(得分:9)

我终于找到了答案,感谢this link和更多的研究。

您需要做的是在活动的主题中定义

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

答案 1 :(得分:0)

Spinner's documentation中,没有android:divider的引用。