Spinner的一些使用

一、Spinner 設置點擊效果
.9.png效果圖片
sp_bg_unclick:100340394.png,sp_bg_click:100400777.png

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

相關文章
相關標籤/搜索