做到一種樣式 android 的spinner本身背景樣式要黑色的 ,而spinner裡的字體也是黑色的 ,spinner 控件的屬性裡設置TextColor沒用 網上找瞭下 需要定義xml 文件來定義樣式 和自定義按鈕控件類似;
1,首先定義spinenr本身背景的樣式:
Java代碼
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="https://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/droplist_down" />
<item android:state_focused="true" android:drawable="@drawable/droplist_focus" />
<item android:drawable="@drawable/droplist" />
</selector>
2,在xml裡引用
Java代碼
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Spinner
android:id="@+id/glucosespin"
android:layout_marginLeft="20dp"
android:background="@drawable/drop_list"
android:layout_width="95dp"
android:layout_height="20dp"
android:layout_centerHorizontal="true"/>
</LinearLayout>
這樣spinner背景就變成瞭自定義的黑色瞭
3,定義spinner裡的字體樣式
Java代碼
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="https://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:singleLine="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:layout_gravity="center_vertical"
android:textColor="#84DB18"
android:textSize="12sp"/>
4,定義彈出的選擇樣式
Java代碼
<?xml version="1.0" encoding="utf-8"?>
<CheckedTextView xmlns:android="https://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:singleLine="true"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:ellipsize="marquee"
android:textColor="#84DB18"
android:background="#424142"/>
這樣,一個spinner就完全變身瞭額。