Spinner的用法

来源:互联网 发布:淘宝网首页女装毛衣 编辑:程序博客网 时间:2024/05/18 13:24

    spinner是用于下拉列表,下拉列表包含了两个部分的内容,一个是显示选中的内容,一个是下拉列表的内容。在android中,所有内容的显示都需要有组件做为其容器。下拉列表在android中一共包含了三个部分的内容,一个是spinner组件,这个文件用来定义下图中1的组件,一个是显示spinner选中内容的组件,其表现出来的就是下图中的2,一个是下拉框中每项内容的组件,其表现出来的就是下图的3。对于下面的一个界面


这三个布局体现位置如下

spinner组件的布局,其定义在整个界面的xml文件中,而2组件的布局和3组件的的布局都是独立的xml文件。

那么这三者都是在什么时候被定义的呢?

spinner这个框的显示是在程序中加载setContentView()方法中显示出来。

而框中显示的内容的外在形式和下拉框的外面形式,这两个的xml文件定义都是在layout目录下被定义的。那它们是在什么时候被加载的呢?说到加载,这里要讲解下Adapter的调用形式了。Adapter是用来存放下拉列表、表格等集合类型的数据。以spinner为例子。下面是实现spinner的一个代码段,1与2的外在表现形式的加载,就在下面的代码段中

// 这个是取到这个spinner的控件

sp_state = (Spinner)view.findViewById(R.id.sp_status);

// 加载spinner需要显示的数据,上面已经说到,加载这个时,需要使用Adapter的子类或是实现BaseAdpater的自定义类。这里直接使用其子类

String[] str = {"1","2","3"};

ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),R.layout.text_layout,str);//注意,蓝色字体就是加载2中的组件,2中的样式字体的大小,颜色,位置等。

// 下面就是定义下拉框样式,包括下拉框的宽度、高度,字体的颜色、大小、位置等。也就是加载组件3样式

adapter.setDropViewResource(R.layout.dropdown_layout)

// 下面把adpater设置到spinner控件中

sp_state.setAdapter(adapter);// 这样下拉列表就会显示我们想显示的内容了。

0 0
原创粉丝点击