Spinner首先它是一个弹出式的列表选择框,由于间接继承了ViewGroup,所以它可以当做一个容器使用; 如果我们可以明确下拉列表中的列表项, 则可以不需要编写代码, 只需要为spinner指定android:entries属性即可. 该属性使用数组资源
此外spinner另外一个常用属性: android:prompt用于设置该列表选择框的提示
1.明确指定弹出框内容 -- 在res/values/创建array.xml 用于指定弹出框内容
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="books"> <item>java技术大全</item> <item>javaweb技术大全</item> <item>javascript技术大全</item> </string-array> </resources>
<Spinner android:layout_width="match_parent" android:layout_height="wrap_content" android:entries="@array/books" />
2.可以通过适配器来定义spinner弹出列表要显示什么形式的数据
public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.spriner); Spinner sp = (Spinner) findViewById(R.id.sp); sp.setAdapter(new MyAdapter()); } class MyAdapter extends BaseAdapter{ @Override public int getCount() { return 5; } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { TextView tv = new TextView(MainActivity.this); tv.setText("java-->"+position); tv.setTextColor(Color.RED); return tv; } } }
getView()方法决定spinner列表框的每个列表项内容,该方法返回什么View对象,每个列表项就显示什么;