自定义下拉菜单模式(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" /> |