android Spinner控件详解地址:
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0105/2264.html
Spinner提供了从一个数据集合中快速选择一项值的办法。默认情况下Spinner显示的是当前选择的值,点击Spinner会弹出一个包含所有可选值的dropdown菜单,从该菜单中可以为Spinner选择一个新值。
spinner有三个属性可以记一下:
android:spinnerMode=”dropdown”
android:dropDownVerticalOffset=”-50dp”
android:dropDownHorizontalOffset=”20dp”
android:popupBackground=”#f0000000”
1 spinnerMode=dropdown时,为下拉模式
2 spinnerMode=dialog时,会在界面中间弹出
3 android:popupBackground=”#f0000000”,可以去除spinner的默认黑边
4 dropDownVerticalOffset和dropDownHorizontalOffset都是改变下拉框位置的
5 设置下拉菜单的宽度: android:dropDownWidth="100dp"
android 中如何设置Spinner点击后弹出的下拉列表的宽度样式:
// 新建数组适配器(ArrayAdapter) list:数据源
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);
//设置adapter设置下一列表样式
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
用法 2 :
以代码方式,动态展示 Spinner 选项,用适配器给Spinner添加数据
package com.example.testspanner;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
public class MainActivity extends Activity {
private Spinner spinner;
private List data_list;
private ArrayAdapter arr_adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.spinner);
spinner = (Spinner) findViewById(R.id.spinner);
//数据
data_list = new ArrayList<String>();
data_list.add("北京");
data_list.add("上海");
data_list.add("广州");
data_list.add("深圳");
//适配器
arr_adapter= new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, data_list);
//设置样式
arr_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//加载适配器
spinner.setAdapter(arr_adapter);
}
}