开发者

Can't change the color od spinner divider

开发者 https://www.devze.com 2023-02-21 01:02 出处:网络
My spinner is defined like this and it seems android:divider=\"#66BC31\" has no effect, i still get white divider:

My spinner is defined like this and it seems android:divider="#66BC31" has no effect, i still get white divider:

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

This is my code where i change my spinner font and select resource for dropdown:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(Roaming.this,
            R.layout.roaming_spinner, data开发者_如何学Go) {

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

I also tried adding line android:divider="#66BC31" to roaming_spinner_row.xml and roaming_spinner.xml where text size and color for my closed and opened spinner are declared and again with no success.


I finally found the answer, thanks to this link and some more research.

What you have to do is define in your activity's theme

        <item name="android:dropDownListViewStyle">@style/App.Style.Spinner</item>

and then create the proper style with

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


In the Spinner's documentation there is no reference to android:divider.

0

精彩评论

暂无评论...
验证码 换一张
取 消