电子说
Spinner其实是一个列表选择框,不过Android的列表选择框并不需要显示下拉列表,而是相当于弹出一个菜单供用户选择。
Spinner与Gallery都继承了AbsSpinner,AbsSpinner继承了AdapterView,因此他也表现出AdapterView的特征:只要为AdapterView提供Adapter即可。
android:entries属性并不是Spinner定义的,而不是AbsSpinner中定义的,因此Gallery(继承了AbsSpinner)也支持该XML属性。
如果开发者使用Spinner时已经可以确定列表选择框里的列表项,则完全不需要编写代码,只要为Spinner指定android:entries属性即可让Spinner正常工作;如果程序需要在程序运行时动态决定Spinner的列表项,或者程序需要对Spinner的列表项进行定制,则可使用Adapter提供列表项。
如下界面布局文件中定义了两个Spinner组件,其中一个Spinner组件指定了android:entries属性,因此需要在Activity中为他设置Adapter。
关于spinner控件有很多特殊的样式甚至是表现的很夸张的样式,这里就仅仅通过更换系统自带的xml样式来试验各种spinner样式效果。
首先在工程里创建最简单的spinner:
需要更换的地方有两处:
ArrayAdapter《 String》 adapter =
new ArrayAdapter《 String》( this,
android.R.layout.simple_spinner_item);
这里面的第二个参数是android.R系统自带的xml样式,我们更换这个时就会看到生成的spinner的直观样式如下:
一、设置数据源
二、绑定数据源
三、设置选中的事件
一、简介
显示一个子布局让用户选择其中一项,这些项目是来自跟当前视图联系的适配器。具备两种视图模式,一种是下拉框形式(Dropdown),另一种是弹出对话框模式(Dialog)。
二、XML属性
三、构造方法
四、案例:选择城市
MainActivity.java
activity_main.xml
全部0条评论
快来发表一下你的评论吧 !