Spinner的使用
来源:互联网 发布:淘宝在哪里拿货的 编辑:程序博客网 时间:2024/06/08 19:03
1.最简单的Spinner
在布局文件中添加Spinner控件
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Spinner android:id="@+id/spinner1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:entries="@array/languages" /> </LinearLayout>
其中android:entries=”@array/languages”表示Spinner的数据集合是从资源数组languages中获取的,languages数组资源定义在values/arrays.xml中:
<?xml version="1.0" encoding="utf-8"?><resources> <string-array name="languages"> <item>c语言</item> <item>java </item> <item>php</item> <item>xml</item> <item>html</item> </string-array></resources>
运行结果:
2.设置Spinner的Adapter
上面使用Spinner数据源于xml数组,其实用的最多的还是通过adapter来跟Spinner绑定数据。
使用ArrayAdapter
// 初始化控件Spinner spinner = (Spinner) findViewById(R.id.spinner1);// 建立数据源String[] mItems = getResources().getStringArray(R.array.languages);// 建立Adapter并且绑定数据源ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, mItems);adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);//绑定 Adapter到控件spinner .setAdapter(adapter);spinner.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { String[] languages = getResources().getStringArray(R.array.languages); Toast.makeText(MainActivity.this, "你点击的是:"+languages[pos], 2000).show(); } @Override public void onNothingSelected(AdapterView<?> parent) { // Another interface callback }});
- 这是Spinner的标准使用方法,其中,有两行代码可以决定Spinner的外观:
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, mItems);
- 1 第二个参数是Spinner未展开菜单时Spinner的默认样式,android.R.layout.simple_spinner_item是系统自带的内置布局。
- 2
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
设置的是展开的时候下拉菜单的样式(注意和上面区别),同理android.R.layout.simple_spinner_dropdown_item也是内置布局。如果不设置
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)会怎样呢?会造成未展开的sipnner和展开的菜单都是一种布局样式。
3.使用自定义的BaseAdapter
这种情况适用于spinner比较复杂的情况,比如带有图标。
和listView里使用方式一致。
下面介绍Spinner的菜单显示方式
它有两种显示形式,一种是下拉菜单,一种是弹出框,菜单显示形式是spinnerMode属性决定的:
android:spinnerMode="dropdown"android:spinnerMode="dialog"
Spinner的xml属性
1 entries: 直接在xml布局文件中绑定数据源(可以不设置,即可以在Activity中动态绑定)
2 spinnerMode: Spinner的显示形式
除此之外还有如下属性:
prompt:在Spinner弹出选择对话框的时候对话框的标题:
属性名称
3 android:dropDownHorizontalOffset
对应方法:
setDropDownHorizontalOffset(int)
spinnerMode=”dropdown”时,下拉的项目选择窗口在水平方向相对于Spinner窗口的偏移量。
它必须是一个带有单位的浮点型尺寸值,如:”14.5sp”。有效的单位包括:px(像素)、dp(密度无关的像素)、sp(基于引用字体的尺寸来缩放的像素)、in(英寸)、mm(毫米)。
属性名称
4 android:dropDownSelector
用于设定spinnerMode=”dropdown”时列表选择器的显示效果。
5.android:dropDownVerticalOffset
对应方法:
setDropDownVerticalOffset(int)
spinnerMode=”dropdown”时,下拉的项目选择窗口在垂直方向相对于Spinner窗口的偏移量。
6.android:dropDownWidth
对应方法:
setDropDownWidth(int)
在spinnerMode=”dropdown”时,设定下拉框的宽度。
7.android:gravity
对应方法:
setGravity(int)
这个属性用于设置当前选择的项目的对齐方式。
8.android:popupBackground
对应方法:
setPopupBackgroundResource(int)
在spinner=”dropdown”时,使用这个属性来设置下拉列表的背景。
- (Spinner) android中Spinner的使用
- Spinner 的使用
- Spinner控件的使用
- Spinner的使用
- Spinner的使用
- Spinner的简单使用
- Android Spinner的使用
- Spinner控件的使用
- spinner的使用详解
- spinner组件的使用
- android spinner的使用
- Spinner的使用
- Spinner组件的使用
- Spinner的使用
- Spinner的使用
- spinner的简单使用
- Spinner的使用
- Android Spinner 的使用
- java锁
- 词向量源码解析:(5.2)ngram2vec源码解析之uni_uni
- Collections.sort(nums)--对List集合中的元素进行排序
- apicloud git-svn 地址冲突,导致代码管理功能不可用.这个问题是由 windows 系统自身DLL加载机制引起的.一般重启电脑即可解决
- 不要过度依赖JQuery(二)
- Spinner的使用
- shell 之awk学习
- MVC @Html.Raw()释意与用法
- 2017.9.15
- 括号匹配方案
- SDL安装参考资料汇总
- CDN(内容分布网络)
- 简单排序算法
- 20种常用DOS命令