前言

Spinner是android中一个用来进行内容选择的一个控件,当内容较多时,可以选择使用Spiner进行实现,下面看看如何使用。

效果图

Android中Spinner控件的使用_动态数据

这里我们使用了两个Spinner,一种是静态数据,一种是动态数据。

静态数据
这种使用方式我们不用再代码中进行任何操作,按照以下步骤即可实现:
1.在values文件夹下新建一个myarrays.xml文件,作为存放spinner的数据源

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="data">
<item>孙悟空</item>
<item>贝吉塔</item>
<item>天津饭</item>
<item>克林</item>
<item>孙悟饭</item>
<item>比克</item>
</string-array>
</resources>

接下来在布局文件中使用entries属性指定数据源

<Spinner
android:id="@+id/sp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/data"
android:prompt="@string/choose_name"
android:spinnerMode="dialog"
>

这里的prompt代表的是提示框的标题,这个标题的写法只能引用String中的资源,直接写要显示的字符串,否则会报错。spinnerMode指定Spinner显示的模式,有两种:dialog和dropdown

动态数据

<Spinner
android:id="@+id/sp2"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:popupBackground="@drawable/sp_bg"
android:dropDownVerticalOffset="40dp"
>
</Spinner>

android:popupBackground指定Spinner的背景
android:dropDownVerticalOffset指定竖直方向偏移
代码中

mList.add("A");
mList.add("B");
mList.add("C");
mList.add("D");
mList.add("E");
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.spinner_item,R.id.name, mList);
spinner2.setAdapter(adapter);

我们这里需要给spinner设置一个adapter

接下来我们看看其他属性