`

Android 之 下拉框(Spinner)的使用

 
阅读更多
http://imshare.iteye.com/blog/770950
http://www.eoeandroid.com/forum.php?mod=viewthread&tid=172611

=========================================================
设置某个选项被选择

spinner.setSelection(spinnerSelectionId);
=========================================================

下拉列表 Spinner。

Spinner的使用,可以极大提高用户的体验性。当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来。供用户选择。

Demo如下,可以留作参考

一、使用数组作为数据源

1.新建一个android的工程
2.工程的layout.xml文件如下:声明一个TextView控件和一个Spinner控件
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"  
  >  
  <TextView android:id="@+id/spinnerText"  
            android:layout_width="fill_parent"   
            android:layout_height="wrap_content"></TextView>  
  <Spinner android:id="@+id/Spinner01"   
           android:layout_width="fill_parent"  
           android:layout_height="wrap_content"></Spinner>  
</LinearLayout>  



3.java代码
Java代码 
import android.app.Activity;  
import android.os.Bundle;  
import android.view.View;  
import android.widget.AdapterView;  
import android.widget.AdapterView.OnItemSelectedListener;  
import android.widget.ArrayAdapter;  
import android.widget.Spinner;  
import android.widget.TextView;  
  
public class SpinnerActivity extends Activity {  
      
    private static final String[] m={"A型","B型","O型","AB型","其他"};  
    private TextView view ;  
    private Spinner spinner;  
    private ArrayAdapter<String> adapter;  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        // TODO Auto-generated method stub  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.spinner);  
          
        view = (TextView) findViewById(R.id.spinnerText);  
        spinner = (Spinner) findViewById(R.id.Spinner01);  
        //将可选内容与ArrayAdapter连接起来  
        adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,m);  
          
        //设置下拉列表的风格  
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);  
          
        //将adapter 添加到spinner中  
        spinner.setAdapter(adapter);  
          
        //添加事件Spinner事件监听    
        spinner.setOnItemSelectedListener(new SpinnerSelectedListener());  
          
        //设置默认值  
        spinner.setVisibility(View.VISIBLE);  
          
    }  
      
    //使用数组形式操作  
    class SpinnerSelectedListener implements OnItemSelectedListener{  
  
        public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,  
                long arg3) {  
            view.setText("你的血型是:"+m[arg2]);  
        }  
  
        public void onNothingSelected(AdapterView<?> arg0) {  
        }  
    }  
}  


4、运行效果如下:


二、使用XML作为数据源
1.新建一个android的工程
2.在values文件夹下新建一个arryas.xml文件:声明一个TextView控件和一个Spinner控件,代码如下:
Xml代码 
<?xml version="1.0" encoding="utf-8"?>  
<resources>  
    <string-array name="plantes">  
        <item>NOKIA</item>  
        <item>MOTO</item>  
        <item>HTC</item>  
        <item>LG</item>  
        <item>其他</item>  
    </string-array>  
</resources>  


3.java代码
Java代码 
import android.app.Activity;  
import android.os.Bundle;  
import android.view.View;  
import android.widget.AdapterView;  
import android.widget.AdapterView.OnItemSelectedListener;  
import android.widget.ArrayAdapter;  
import android.widget.Spinner;  
import android.widget.TextView;  
  
public class SpinnerActivity extends Activity {  
      
    private TextView view2;  
    private Spinner spinner2;  
    private ArrayAdapter adapter2;  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        // TODO Auto-generated method stub  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.spinner);  
  
        spinner2 = (Spinner) findViewById(R.id.spinner02);  
        view2 = (TextView) findViewById(R.id.spinnerText02);  
  
        //将可选内容与ArrayAdapter连接起来  
        adapter2 = ArrayAdapter.createFromResource(this, R.array.plantes, android.R.layout.simple_spinner_item);  
  
        //设置下拉列表的风格   
 adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);  
  
        //将adapter2 添加到spinner中  
        spinner2.setAdapter(adapter2);  
  
        //添加事件Spinner事件监听    
        spinner2.setOnItemSelectedListener(new SpinnerXMLSelectedListener());  
  
        //设置默认值  
        spinner2.setVisibility(View.VISIBLE);  
          
    }  
      
    //使用XML形式操作  
    class SpinnerXMLSelectedListener implements OnItemSelectedListener{  
        public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,  
                long arg3) {  
            view2.setText("你使用什么样的手机:"+adapter2.getItem(arg2));  
        }  
  
        public void onNothingSelected(AdapterView<?> arg0) {  
              
        }  
          
    }  
}  



4、运行效果如下:

分享到:
评论

相关推荐

    Android城市级联下拉框(自定义Spinner)

    在Android开发中,有时...总之,实现Android城市级联下拉框(自定义Spinner)需要对Spinner的基本使用、事件监听、数据更新以及界面定制有深入了解。通过不断实践和优化,我们可以创建出用户体验优秀的级联选择组件。

    Android使用 Spinner控件实现下拉框功能

    通过使用 Spinner 控件,我们可以在 Android 应用程序中实现下拉框的效果。下面我们将通过实例代码来介绍如何使用 Spinner 控件实现下拉框功能。 Spinner 控件的使用步骤 1. 首先,我们需要在 XML 文件中声明 ...

    Android中spinner(下拉框)的使用,和小写字母转换成大写

    通过以上步骤,我们就完成了Android Spinner的使用以及小写字母转大写的处理。这样的功能在处理如车牌号等特定输入时,能够提高用户体验,确保输入的格式一致性。在实际项目中,还可以根据需求进一步优化,例如增加...

    Android 自定义下拉框的实现 Spinner

    在Android开发中,Spinner是一个非常常用的组件,它用于创建下拉选择列表,通常用于实现简单的选项选择功能。本文将深入探讨如何在Android中自定义Spinner,以满足特定的设计需求。 一、Spinner的基本使用 Spinner...

    android完美下拉框控件

    在Android开发中,"完美下拉框控件"通常指的是具有高效、自定义化和用户体验优良的Spinner组件。Spinner是Android SDK提供的一种基础UI控件,用于实现下拉选择的效果,它可以在用户点击后弹出一个列表供用户选择。本...

    Android自定义spinner下拉框实现的实现

    本篇文章将详细讲解如何自定义一个Android Spinner的下拉框实现,以提供更加个性化的用户体验。 首先,我们需要了解Spinner的基本用法。Spinner通常通过Adapter来绑定数据源,常见的有ArrayAdapter、...

    Android第三方开源下拉框NiceSpinner使用详解

    NiceSpinner的出现满足了Android开发者对高定制化的下拉框Spinner的需求, NiceSpinner的使用非常广泛,以下是NiceSpinner的使用详解。 NiceSpinner的特点: 1. 高定制化:NiceSpinner提供了强大的定制化功能,...

    Android自定义下拉框(PopupWindow实现)

    在Android开发中,有时我们需要创建具有特定样式和功能的组件,比如自定义的下拉框。本篇将详细讲解如何使用PopupWindow实现一个定制化的下拉框。 首先,理解PopupWindow的基本概念。PopupWindow是Android提供的一...

    android自定义spinner下拉框实现(封装更通用)

    博文参考:http://blog.csdn.net/geniuseoe2012/article/details/8723702 android仿web风格的spinner下拉框实现demo,实现更通用

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

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

    android studio 的下拉菜单Spinner使用详解

    Android Studio 下拉菜单 Spinner 使用详解 Android Studio 中的下拉菜单 Spinner 是一个列表选择框,类似于弹出菜单供用户选择。Spinner 继承了 AdapterView,因此它也表现出 AdapterView 的特征:只要为 ...

    Android实现三级联动下拉框 下拉列表spinner的实例代码

    适配器通常使用ArrayAdapter,它可以从数组中填充数据到Spinner。例如: ```java public class MainActivity extends Activity { private Spinner provinceSpinner; private Spinner citySpinner; private ...

    Android自定义spinner下拉框

    Android自定义spinner下拉框实现的实现 http://blog.csdn.net/jdsjlzx/article/details/41316417 请支持原创:http://blog.csdn.net/geniuseoe2012/article/details/8723702

    Android 实例讲解 Spinner样式修改

    对于android项目开发来说,常常会用到Spinner实现下拉框的效果。而对于Spinner加载适配器的方法有多种: 1.直接加载android自带的ArrayAdapter,SimpleAdapter; 2.自定义继承BaseAdapter的适配器。 对于适配器加载...

    自定义下拉框(android)

    本教程将深入探讨如何在Android中实现一个仿WEB风格的自定义下拉框(Spinner)。我们将主要围绕以下几个知识点展开: 1. **Spinner组件基础**: Spinner是Android SDK中的一个标准控件,用于展示可选择的列表项。...

    Android进阶之Spinner下拉框的使用方法

    Android进阶之Spinner下拉框的使用方法 Android Spinner 下拉框是 Android 应用程序中常用的控件之一,主要用于提供用户选择的选项菜单。 Spinner 下拉框的使用方法主要有两种:第一种是通过资源文件(arrays.xml)...

    android spinner简单示例

    在Android开发中,Spinner是一个非常常用的控件,它通常用于展示一个下拉列表,用户可以选择其中一个选项。这个控件在很多场景下都很实用,比如设置、筛选器等。本示例将详细介绍如何在Android应用中实现一个简单的...

    android 下拉菜单Spinner 几种使用

    本篇文章将详细介绍Android Spinner的几种使用方法。 首先,我们来了解一下Spinner的基本结构。Spinner继承自AbsSpinner,是AdapterView的一个子类。它通过Adapter来加载数据,并显示当前选中的项。Adapter可以是...

    Spinner下拉菜单多选 MultiSelectionSpinner

    Spinner下拉菜单多选,在布局xml文件直接作为控件使用,在activity里面调用就行了

    android开发 下拉框之十二星座

    总的来说,"android开发 下拉框之十二星座"项目展示了如何在Android应用中灵活运用Spinner控件,结合图片和文字展示,提供了一种互动性强且富有趣味性的用户体验。同时,这也是一次对数据绑定、事件监听、UI设计等多...

Global site tag (gtag.js) - Google Analytics