【Android组件之Spinner使用】
Spinner组件类似Web系统之中的select下拉列表选项,具体如图
一、界面布局效果图
二、界面布局文件源码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/hello" />
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="你目前所在的城市:" />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="城市:" />
<Spinner android:id="@+id/sp" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:entries="@array/my_citys"
android:prompt="@string/info" />
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="区域:" />
<Spinner android:id="@+id/areas" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:entries="@array/my_areas"
android:prompt="@string/info" />
</LinearLayout>
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="你的文化程度:" />
<Spinner android:id="@+id/sp1" android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="你的婚姻状况:" />
<Spinner android:id="@+id/sp2" android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
三、实现方式
1)方案一 采用XML实现
<Spinner android:id="@+id/sp" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:entries="@array/my_citys"
android:prompt="@string/info" />
采用XML文件实现
/res/values/citys.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="my_citys">
<item>北京</item>
<item>上海</item>
<item>广东</item>
</string-array>
<string-array name="my_areas">
<item>北京1</item>
<item>上海2</item>
<item>广州4</item>
</string-array>
<string-array name="edu">
<item>初中</item>
<item>高中</item>
<item>大专</item>
<item>本科</item>
<item>研究生</item>
</string-array>
</resources>
2)方案二 编码实现+XML实现
private Spinner sp;
private ArrayAdapter<CharSequence> aa;
sp = (Spinner) this.findViewById(R.id.sp1);
aa = ArrayAdapter.createFromResource(this, R.array.edu,
android.R.layout.simple_spinner_item);
aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp.setPrompt("请选择你的受教育程度");
sp.setAdapter(aa);
备注:R.array.edu代表资源ID
3)方案三 编码使用JAVA数组实现
private Spinner sp2;
sp2= (Spinner) this.findViewById(R.id.sp2);
String[] marry = new String[]{"未婚","已婚","离异"};
ArrayAdapter ad1 = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, marry);
ad1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sp2.setPrompt("请选择你的婚姻状况:");
sp2.setAdapter(ad1);