本节引言
本节将要学习的是一个叫作Spinner的Adapter控件。应用场景:当App需要用户输入数据时,除了让用户自己打字以外,还有一种比较贴心的设计——列出一组选项让用户从中挑选,操作十分便捷。
1.相关属性
Android:dropDownHorizontalOffset:设置列表框的水平偏移距离;
Android:dropDownVerticalOffset:设置列表框的水平竖直距离;
Android:dropDownSelector:列表框被选中时的背景;
Android:dropDownWidth:设置下拉列表框的宽度;
Android:gravity:设置组件的对齐方式;
Android:popupBackground:设置列表框的背景;
Android:prompt:设置对话框模式的列表框的提示信息(标题),只能够引用string.xml中的资源id,而不能直接写字符串;
Android:spinnerMode:列表框的模式,有两个可选值——dialog:对话框风格的窗口;dropdown:下拉菜单风格的窗口(默认);
可选属性:android:entries:使用数组资源设置下拉列表框的列表项目。
2.使用示例
Spinner会默认选中第一个值,就是默认调用spinner.setSection(0)。用户可以通过这个设置默认的选中值,另外,会触发一次OnItemSelectedListener 事件,这个事件触发是不必要的,解决方法是:添加一个boolean值,然后设置为false,在onItemSelected时进行判断,false说明是默认触发的,不做任何操作并将boolean值设置为true;true是正常触发事件。示例中写了两个不同的Spinner,从数据源,列表框风格等进行对比。
案例实现:
(1)新建一个Module,命名为SpinnerDemo,见图2.32。(www.xing528.com)
图2.32
(2)布局文件activity_main.xml。
(3)添加Spinner的数据源。
由于在Spinner中用到的数据主要包括提示信息(一个字符串)和选项(字符串列表),因此可以直接编辑res/values下strings.xml的文件,内容如下:
(4)使用setAdapter加载选项列表。
(5)运行效果,见图2.33。
图2.33
(6)修改布局文件实现对话框模式显示列表选项。
(7)运行效果,见图2.34。
图2.34
(8)直接使用布局文件加载列表选项值。
(9)Spinner的OnItemSelectedListener实现事件处理。
(10)运行效果,见图2.35。
图2.35
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。