android spinner修改樣式 – Android移動開發技術文章_手機開發 Android移動開發教學課程

做到一種樣式  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就完全變身瞭額。

發佈留言