自定義下拉菜單模式(Spinner與setDropDownViewResource)
新建一個繼承Activity類的SpinnerSetDropDownViewResourceActivity,並設置佈局文件爲:spinnersetdropdownviewresource.xml。
在佈局文件中添加一個TextView和一個Spinner。
<TextView android:id="@+id/spinnersetdropdownviewresource_tv01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="@string/show_information" android:textSize="20sp" />
<Spinner android:id="@+id/spinnersetdropdownviewresource_spinner" android:layout_width="fill_parent" android:layout_height="wrap_content" android:entries="@array/spinnerItem" android:prompt="@string/spinnersetdropdownviewresource_spinner_prompt" android:spinnerMode="dialog" /> |
而後在Activity類中設置Spinner的選中監聽。
package lyx.feng.second; ...... public class SpinnerSetDropDownViewResourceActivity extends Activity { private TextView tv = null; private Spinner spinner = null; private String item[]; private Animation animation;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.spinnersetdropdownviewresource);
this.animation = new AlphaAnimation(0.0f, 1.0f); this.animation.setDuration(1000); this.animation.setFillAfter(true);
this.item = getResources().getStringArray(R.array.spinnerItem);
this.tv = (TextView) super .findViewById(R.id.spinnersetdropdownviewresource_tv01); this.spinner = (Spinner) super .findViewById(R.id.spinnersetdropdownviewresource_spinner); this.spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { tv.setText("你選擇的是:" + item[position]); }
@Override public void onNothingSelected(AdapterView<?> parent) { } }); this.spinner.setOnTouchListener(new OnTouchListener() {
@Override public boolean onTouch(View v, MotionEvent event) { spinner.startAnimation(animation); return false; } }); } }
|
也可以通過自定義的形式設置Spinner的顯示風格。
adapter.setDropDownViewResource(R.layout.spinnersetdropdownviewresource_spinner_item); |
此佈局文件格式爲:
<?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/text1" style="?android:attr/spinnerDropDownItemStyle" android:layout_width="fill_parent" android:layout_height="50dp" android:background="@drawable/list_item" android:singleLine="true" /> |