Spinner的使用,可以极大提高用户的体验性。当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来。供用户选择。
自己的一个小例子:
xml布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="请选择证件类型:" />
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提交"
/>
</LinearLayout>
java代码:
package com.xzy.demo.spinner;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;
public class SpinnerActivity extends Activity {
private Spinner spinner;
private Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 获得下拉列表和按钮
spinner = (Spinner) findViewById(R.id.spinner);
button = (Button) findViewById(R.id.button);
// java资源数组
final String type[] = new String[] { "学生证", "身份证", "军官证" };
// 定义适配器并采用系统默认布局
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, type);
// 设置下拉列表的风格
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// 将adapter 添加到spinner中
spinner.setAdapter(adapter);
// 设置默认值--使spinner默认可见
spinner.setVisibility(View.VISIBLE);
// button点击事件
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Toast.makeText(SpinnerActivity.this,
"您选择的证件类型:" + spinner.getSelectedItem().toString(),
3000).show();
}
});
// 添加事件Spinner事件监听
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
// arg0代表下拉列表框
// arg2代表被选中的是第几项
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
Toast.makeText(SpinnerActivity.this, "你选择的证件类型是:" + type[arg2],
3000).show();
}
public void onNothingSelected(AdapterView<?> arg0) {
}
});
}
}
效果图
另外推荐一篇比较好的文章:下拉列表 Spinner