一、Spinner 設置點擊效果
.9.png效果圖片
sp_bg_unclick:,sp_bg_click:
新建selector文件:sp_bg_selectorjava
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true" android:drawable="@drawable/sp_bg_click"></item> <item android:drawable="@drawable/sp_bg_unclick"></item> </selector>
在佈局文件中使用 android:background = "@drawable/sp_bg_selector"
二、Spinner下拉樣式
Spinner的下拉樣式決定了正常顯示時Spinner的文字樣式(顏色,大小,位置),以及下拉item的點擊效果由Spinner的adapter決定如:android
ArrayAdapter<String> spAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, objects);
咱們只須要對android.R.layout.simple_list_item_1進行更改便可,如更改成sp_dropdown_item。
1)定義item的顯示文件sp_dropdown_item
ide
<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="@android:color/black" <!-- 文字黑色--> android:gravity="center" android:background="@drawable/sp_item_selector"/><!-- 白底,點擊藍色-->
2)定義item的點擊效果sp_item_selector
佈局
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true" android:drawable="@drawable/blue"></item> <item android:drawable="@drawable/white"></item> </selector>
三、Spinner初始化後接口方法onItemSelected()方法不執行:
this
Spinner sp= (Spinner)findViewById(R.id.sp); ArrayAdapter<String> spAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, objects); sp.setAdapter(spAdapter); sp.setSelection(0, true); sp.setOnItemSelectedListener(this);
setOnItemSelectedListener方法在setSelection方法後,則接口方法onItemSelected()在Spinner初始化後不執行。
spa