zoukankan      html  css  js  c++  java
  • 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


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





  • 相关阅读:
    Leetcode Reverse Words in a String
    topcoder SRM 619 DIV2 GoodCompanyDivTwo
    topcoder SRM 618 DIV2 MovingRooksDiv2
    topcoder SRM 618 DIV2 WritingWords
    topcoder SRM 618 DIV2 LongWordsDiv2
    Zepto Code Rush 2014 A. Feed with Candy
    Zepto Code Rush 2014 B
    Codeforces Round #245 (Div. 2) B
    Codeforces Round #245 (Div. 2) A
    Codeforces Round #247 (Div. 2) B
  • 原文地址:https://www.cnblogs.com/cxchanpin/p/6860798.html
Copyright © 2011-2022 走看看