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


这就是两种方法,下边我们看下效果图吧:





  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值