Spinner 的使用
Spinner在android:Theme.Holo.Light主题下的效果和在android:Theme.Light下的效果并不一样
//Theme_Holo是3.0开始有的,2.3无法使用此效果..
下面是android:Theme.Holo.Light主题下的效果
模式为下拉效果预览:
模式设置为弹出时候
android:spinnerMode="dialog" //设置模式弹出窗口,默认是下拉
android:prompt="@string/titlePrompt" //这个是弹出窗口的标题,不设置就没有标题的部分
android:Theme.Light下拉的效果:
android:spinnerMode="dropdown" //设置模式弹出窗口,需要设置成,
android:Theme.Light下的弹出窗口效果:
android:spinnerMode="dialog" //设置模式弹出窗口,默认是弹出窗口,这里可以不设置
android:prompt="@string/titlePrompt" //这个是弹出窗口的标题,不设置就没有标题的部分,字符串格式,可以直接设置
代码如下:
布局:
<Spinner
android:id="@+id/spinner1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:prompt="@string/titlePrompt"
android:spinnerMode="dropdown"
android:entries="@array/languages"
/>
在res目录下—->value—–>arrays.xml(没有的自己新建xml文件)–>languages代码如下
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="languages">
<item>广州</item>
<item>深圳</item>
<item>北京</item>
<item>上海</item>
</string-array>
</resources>
需要再在弹出的条目是一个自定义的View可以使用动态绑定BaseAdapter
需要监听点击Item的方法:
源码:
spinner = (Spinner) findViewById(R.id.spinner1);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
//一般使用点击条目的序列号position进行相应的操作,或者使用该选中条目的view的id操作
switch (position) {
case 0:
break;
case 1:
break;
case 2:
break;
case 3:
break;
default:
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});