AndroidStudio 备忘录之Spinner(下拉列表)
16lz
2021-12-04
Spinner的相关属性:
属性 | 功能 |
---|---|
android:dropDownHorizontalOffset | 设置列表框的水平偏移距离 |
android:dropDownVerticalOffset | 设置列表框的水平竖直距离 |
android:dropDownSelector | 列表框被选中时的背景 |
android:dropDownWidth | 设置下拉列表框的宽度 |
android:gravity | 设置里面组件的对其方式 |
android:popupBackground | 设置列表框的背景 |
android:prompt | 设置对话框模式的列表框的提示信息(标题),只能够引用string.xml 中的资源id,而不能直接写字符串 |
android:spinnerMode | 列表框的模式,有两个可选值: dialog:对话框风格的窗口 dropdown:下拉菜单风格的窗口(默认) |
可选属性:android:entries | 使用数组资源设置下拉列表框的列表项目 |
Spinner遇到的问题:
1.改spinner样式:
√
<Spinner android:layout_width="19dp" android:layout_height="19dp" android:background="@mipmap/ceshi2_spcircle_back">
2.修改spinner下拉框出现位置:
√
<Spinner android:layout_width="19dp" android:layout_height="19dp" android:background="@mipmap/ceshi2_spcircle_back" android:dropDownHorizontalOffset="10dp" android:dropDownVerticalOffset="15dp">Spinner>
3.改spinner下拉框样式:
√ 添加为Spinner创建的适配器adapter如下语句,其中"choosebtn_item"为自定义布局
adapter.setDropDownViewResource(R.layout.choosebtn_item);
※ 需要注意的是如果用的是ArrayAdapter(数组适配器)则适配的是TextView控件,对于比较复杂的下拉列表样式则很有局限。可选择使用SimpleAdapter(简单适配器),实例用法:
String[] num = new String[]{"01", "02", "03", "04", "05","06", "07", "08", "09", "10"};int images[] = new int[]{……}data = new ArrayList<Map<String, Object>>();for (int i = 0; i < num.length; i++) { Map<String, Object> map = new HashMap<String, Object>(); map.put("images", images); map.put("num", num[i]); data.add(map);}SimpleAdapter adapter = new SimpleAdapter(this, data, android.R.layout.simple_spinner_item, new String[] { "images", "num" }, new int[] { R.id.images, R.id.num});adapter1.setDropDownViewResource(R.layout.choosebtn_item);_activity_test_spinner.setAdapter(adapter);
但是Spinner并不能实现多列的效果(目前没找到办法),想要多列的下拉框效果可以使用“GridView”
更多相关文章
- Android(安卓)splitActionBarWhenNarrow ActionBar背景颜色设置
- 在android的Browser中设置User Agent
- Android(安卓)EditText 限制输入数字和字母设置
- 《Android(安卓)应用 之路》 MPAndroidChart~BarChart
- android滚动条
- TextView和EidtText使用技巧
- View的xml的属性作用大剖析
- 高级组件之自动完成文本框
- android设置Activity背景色为透明的2种方法