`
king_tt
  • 浏览: 2259761 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

【Android 开发教程】Spinner

 
阅读更多

本章节翻译自《Beginning-Android-4-Application-Development》,如有翻译不当的地方,敬请指出。

原书购买地址http://www.amazon.com/Beginning-Android-4-Application-Development/dp/1118199545/


从前面的几节课可知,ListView用来显示一个长列表信息,同时把整个屏幕占满了(ListActivity)。但是有的时候,你可能需要其他类似的视图,这样,你就不必把整个屏幕都占满了。在这种情况下,你就应该使用Spinner控件。Spinner一次显示列表中的一个信息,并且它能让用户进行选择。

下面将展示如何在Activity中使用Spinner。

1. 创建一个工程:BasicViews6。

2. main.xml中的代码。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

<Spinner
    android:id="@+id/spinner1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:drawSelectorOnTop="true" />

</LinearLayout>
3. strings.xml中的代码。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, BasicViews6Activity!</string>
    <string name="app_name">BasicViews6</string>
    <string-array name="presidents_array">
        <item>Dwight D. Eisenhower</item>
        <item>John F. Kennedy</item>
        <item>Lyndon B. Johnson</item>
        <item>Richard Nixon</item>
        <item>Gerald Ford</item>
        <item>Jimmy Carter</item>
        <item>Ronald Reagan</item>
        <item>George H. W. Bush</item>
        <item>Bill Clinton</item>
        <item>George W. Bush</item>
        <item>Barack Obama</item>
    </string-array>        
</resources>
4. BasicViews6Activity.java中的代码。

public class BasicViews6Activity extends Activity {
	String[] presidents;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		presidents =
				getResources().getStringArray(R.array.presidents_array);
		Spinner s1 = (Spinner) findViewById(R.id.spinner1);

		ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
				android.R.layout.simple_spinner_item, presidents);

		s1.setAdapter(adapter);
		s1.setOnItemSelectedListener(new OnItemSelectedListener()
		{
			@Override
			public void onItemSelected(AdapterView<?> arg0, 
			View arg1, int arg2, long arg3)
			{
				int index = arg0.getSelectedItemPosition();
				Toast.makeText(getBaseContext(),
						"You have selected item : " + presidents[index],
						Toast.LENGTH_SHORT).show();
			}

			@Override
			public void onNothingSelected(AdapterView<?> arg0) { }
		});
	}
}
5. 按F11在模拟器上调试。在Spinner上面单击,你将会看到一个弹出的窗口,这个窗口显示了这些名字。选择一个名字,就会弹出一个信息。


这个例子和ListView很像。你需要实现的方法是onNothingSelected()。当用户按返回键的时候,这个方法被触发,同时显示出来的窗口被取消了。在这个例子中,我们什么都没做,所以没有实现这个方法。

除了显示一些简单的列表,也可以显示RadioButton。只要修改ArrayAdapter的第二个参数即可。

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_single_choice, presidents);



分享到:
评论

相关推荐

    android studio,demo,Spinner下拉菜单多选的实现

    在Android开发中,Spinner是一个非常常见的控件,它通常用于展示一个下拉列表供用户选择。本教程将详细讲解如何在Android Studio 3.0.1环境下实现Spinner的多选功能,这对于创建交互式用户界面非常有用。 首先,...

    android中spinner的使用

    在Android开发中,Spinner是一个非常重要的控件,它允许用户从一组预定义的选项中进行选择,类似于下拉菜单。Spinner通常用于节省屏幕空间,因为它只显示一个选定的项目,只有在用户点击时才会展开选项列表。在本...

    实现android Spinner选择后被选中的item有个背景的功能

    在Android开发中,Spinner是一个常用的组件,用于展示一个下拉列表供用户选择。它类似于iOS中的Segmented Control或网页上的下拉菜单。本教程将详细讲解如何在Android中使用Kotlin实现一个Spinner,并且在用户选择某...

    《Android开发视频教程》Spinner下拉列表控件.zip

    《Android开发视频教程》Spinner下拉列表控件.zip

    Android 学习(7)Spinner

    在Android开发中,Spinner是一个非常重要的控件,它允许用户从一组预定义的选项中进行选择,类似于下拉菜单。本教程将深入讲解如何在Android应用中使用Spinner,并通过一个名为"SpinnerDemo"的实例来展示其用法。 ...

    android Spinner控件实例

    在Android开发中,Spinner是一个非常常用的控件,它主要用于实现下拉列表的功能,用户可以通过点击Spinner来选择一个预设的选项。Spinner控件简洁而实用,适用于那些需要在一个固定选项集合中进行选择的场景,例如...

    Android Spinner控件下拉列表框的实现

    在Android开发中,Spinner是一个非常常用的控件,它允许用户从一组预定义的选项中进行选择,通常以下拉列表的形式展示。Spinner控件在设计简洁的用户界面时特别有用,因为它可以节省屏幕空间,同时提供多选项选择的...

    Android spinner 省市联动

    在Android应用开发中,"spinner"控件常用于创建下拉选择列表,它提供了一种简洁的方式让用户在有限的选项中进行选择。本教程将详细讲解如何实现“省市区联动”功能,即用户选择省份后,市的选择会相应更新,进一步...

    Android用数组资源做Spinner Demo

    在Android应用开发中,Spinner是一种常用的控件,它允许用户从一组预定义的选项中进行选择,类似于下拉菜单。本教程将详细讲解如何利用数组资源来创建一个Spinner Demo,以此展示其工作原理和实现步骤。 首先,我们...

    修改spinner字体大小及颜色,还有列表样式

    在Android开发中,Spinner是一个非常常用的控件,它允许用户从一组预定义的选项中进行选择。本教程将深入探讨如何自定义Spinner的字体大小、颜色以及下拉列表的样式。 首先,我们来理解Spinner的基本用法。Spinner...

    Android Studio自定义Spinner背景图及代码文件

    在Android开发中,Spinner是一个非常常用的控件,它允许用户从一组预定义的选项中进行选择,类似于下拉菜单。本教程将详细讲解如何在Android Studio中为Spinner自定义背景图,并提供相应的代码示例。 首先,我们...

    lost android 开发教程二

    在这个“开发教程二”中,我们将深入探讨多个关键组件和技术,包括Spinner、JSON、Seekbar、AppWidget、LayoutAnimation、Animations、DatePicker以及ExpandableListView。这些组件在Android应用开发中都扮演着重要...

    Android开发案例驱动教程 配套代码

    《Android开发案例驱动教程》 配套代码。 注: 由于第12,13,14章代码太大,无法上传到一个包中。 这三节代码会放到其他压缩包中。 作者:关东升,赵志荣 Java或C++程序员转变成为Android程序员 采用案例驱动模式...

    Android开发教程之Android控件--千锋培训

    在Android开发中,控件是构建用户界面的基本元素,它们为用户提供交互操作的方式。这篇教程主要涵盖了九种常见的Android控件及其使用示例,包括ZoomControls、Include、VideoView、WebView、RatingBar、Tab、Spinner...

    安卓开发使用edittext和list组合实现Spinner

    本教程将详细介绍如何通过EditText和List组合来实现Spinner,这对于初学者来说是一个很好的实践项目,有助于提升对Android开发的兴趣。 首先,Spinner的基本概念:Spinner是Android提供的一个下拉列表控件,它允许...

    android studio开发app项目Spinner应用设计

    在Android应用开发中,Spinner是UI设计中一个重要的控件,它允许用户在一组预定义的选项中进行选择。在Android Studio中,我们通常使用Spinner来创建下拉菜单的效果,提高用户界面的交互性。本教程将深入讲解如何在...

    spinner下拉列表 demo

    在Android开发中,Spinner是一个非常常见的控件,它用于展示一个可下拉选择的列表,通常用在设置界面或者选项选择等场景。本教程将详细讲解如何在Android应用中实现Spinner下拉列表的Demo。 首先,我们需要理解...

    android的SQL,Spinner操作

    总的来说,SQLite和Spinner是Android开发中常见的数据管理和用户交互工具。了解它们的用法并熟练掌握,能帮助你更好地构建功能丰富的应用程序。在实际项目中,你可能还需要考虑线程安全、数据缓存、性能优化等问题,...

    Android开发教程笔记完全版.zip

    这份“Android开发教程笔记完全版”提供了一条深入理解Android开发的路径,涵盖了从基础知识到高级特性的全面内容。 首先,笔记可能从环境配置开始,包括安装Java Development Kit (JDK)、设置环境变量、下载...

    安卓开发-Spinner.zip

    在Android开发中,Spinner是一个非常重要的控件,它允许用户从一组预定义的选项中进行选择,类似于下拉菜单。Spinner通常用于展示有限的、已知的选项集合,且在界面空间有限的情况下尤为适用。本资源"安卓开发-...

Global site tag (gtag.js) - Google Analytics