首页 > 代码库 > Android开发系列(二十一):Spinner的功能和用法以及实现列表选择框
Android开发系列(二十一):Spinner的功能和用法以及实现列表选择框
Spinner是一个列表选择框,相当于弹出一个菜单供用户进行选择。
Spinner继承AdapterView
Spinnet支持的XML的属性:
android:entries:使用数组资源设置该下拉列表框的列表项目
android:popupBackground:设置下拉列表框的背景色
(一般这两个比较常用一点)
用Spinner用两种方法:
第一、已经确定下拉列表里的列表项,只要为Spinner指定android:entries属性就可以实现Spinner。
第二、如果程序需要在运行时动态地确定下拉列表的内容,或程序需要对下拉列表的下拉项进行定制,可以使用Adapter为Spinner提供列表项。
下边,我们把这两种方式都演示一下。
首先,我们先创建一个Android项目,然后我们在main.xml中配置:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <!-- 定义了一个Spinner组件, 指定该显示该Spinner组件的数组 --> <Spinner android:layout_width="fill_parent" android:layout_height="wrap_content" android:entries="@array/books" /> <Spinner android:id="@+id/spinner" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>注意,第一个Spinner用到了android:entries属性,第二个没有用到。
因为第一个用到了android:entries="@array/books"这个属性,所以我们需要在res/values里边创建个arrays.xml:
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="books"> <item>百度</item> <item>阿里巴巴</item> <item>腾讯</item> </string-array> </resources>
在配置好了之后,我们要在主程序中写java代码了:
import android.app.Activity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.Spinner; public class SpinnerTest extends Activity { Spinner spinner; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 获取界面布局文件中的Spinner组件 spinner = (Spinner) findViewById(R.id.spinner); String[] arr = { "孙悟空", "猪八戒", "唐僧" }; // 创建ArrayAdapter对象 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, arr); // 为Spinner设置Adapter spinner.setAdapter(adapter); } }在上边的代码中,我们使用一个String数组arr,然后使用ArrayAdapter适配器生成一个Adapter对象,然后为spinner设置这个Adapter
这就是两种方法,下边我们看下效果图吧:
Android开发系列(二十一):Spinner的功能和用法以及实现列表选择框
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。