• 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


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





  • 相关阅读:
    如何同步共享同一个list
    Java多线程生产者消费者模式(一)之两个线程交替执行
    Java多线程之如何在线程间共享数据
    Java多线程(四)实现多线程的三种方法之JUC的Callable接口
    Java线程的6种状态
    Java lambda表达式的进化论
    Java内部类
    Java多线程(五)锁机制之synchronized 同步方法和同步块
    Java装饰者模式
    Java多线程(三)实现多线程的三种方法之Runnable接口
  • 原文地址:https://www.cnblogs.com/cxchanpin/p/6860798.html
Copyright © 2020-2023  润新知