下拉列表 Spinner。

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

Demo如下,可以留作参考 

一、使用数组作为数据源

1.新建一个android的工程 
2.工程的layout.xml文件如下:声明一个TextView控件和一个Spinner控件

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout
  3. xmlns:android="http://schemas.android.com/apk/res/android"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. android:orientation="vertical"
  7. >
  8. <TextView android:id="@+id/spinnerText"
  9. android:layout_width="fill_parent"
  10. android:layout_height="wrap_content"></TextView>
  11. <Spinner android:id="@+id/Spinner01"
  12. android:layout_width="fill_parent"
  13. android:layout_height="wrap_content"></Spinner>
  14. </LinearLayout>

3.java代码

  1. import android.app.Activity;
  2. import android.os.Bundle;
  3. import android.view.View;
  4. import android.widget.AdapterView;
  5. import android.widget.AdapterView.OnItemSelectedListener;
  6. import android.widget.ArrayAdapter;
  7. import android.widget.Spinner;
  8. import android.widget.TextView;
  9. public class SpinnerActivity extends Activity {
  10. private static final String[] m={"A型","B型","O型","AB型","其他"};
  11. private TextView view ;
  12. private Spinner spinner;
  13. private ArrayAdapter<String> adapter;
  14. @Override
  15. protected void onCreate(Bundle savedInstanceState) {
  16. // TODO Auto-generated method stub
  17. super.onCreate(savedInstanceState);
  18. setContentView(R.layout.spinner);
  19. view = (TextView) findViewById(R.id.spinnerText);
  20. spinner = (Spinner) findViewById(R.id.Spinner01);
  21. //将可选内容与ArrayAdapter连接起来
  22. adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,m);
  23. //设置下拉列表的风格
  24. adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  25. //将adapter 添加到spinner中
  26. spinner.setAdapter(adapter);
  27. //添加事件Spinner事件监听
  28. spinner.setOnItemSelectedListener(new SpinnerSelectedListener());
  29. //设置默认值
  30. spinner.setVisibility(View.VISIBLE);
  31. }
  32. //使用数组形式操作
  33. class SpinnerSelectedListener implements OnItemSelectedListener{
  34. public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
  35. long arg3) {
  36. view.setText("你的血型是:"+m[arg2]);
  37. }
  38. public void onNothingSelected(AdapterView<?> arg0) {
  39. }
  40. }
  41. }

4、运行效果如下:

二、使用XML作为数据源 
1.新建一个android的工程 
2.在values文件夹下新建一个arryas.xml文件:声明一个TextView控件和一个Spinner控件,代码如下:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <string-array name="plantes">
  4. <item>NOKIA</item>
  5. <item>MOTO</item>
  6. <item>HTC</item>
  7. <item>LG</item>
  8. <item>其他</item>
  9. </string-array>
  10. </resources>

3.java代码

  1. import android.app.Activity;
  2. import android.os.Bundle;
  3. import android.view.View;
  4. import android.widget.AdapterView;
  5. import android.widget.AdapterView.OnItemSelectedListener;
  6. import android.widget.ArrayAdapter;
  7. import android.widget.Spinner;
  8. import android.widget.TextView;
  9. public class SpinnerActivity extends Activity {
  10. private TextView view2;
  11. private Spinner spinner2;
  12. private ArrayAdapter adapter2;
  13. @Override
  14. protected void onCreate(Bundle savedInstanceState) {
  15. // TODO Auto-generated method stub
  16. super.onCreate(savedInstanceState);
  17. setContentView(R.layout.spinner);
  18. spinner2 = (Spinner) findViewById(R.id.spinner02);
  19. view2 = (TextView) findViewById(R.id.spinnerText02);
  20. //将可选内容与ArrayAdapter连接起来
  21. adapter2 = ArrayAdapter.createFromResource(this, R.array.plantes, android.R.layout.simple_spinner_item);
  22. //设置下拉列表的风格
  23. adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  24. //将adapter2 添加到spinner中
  25. spinner2.setAdapter(adapter2);
  26. //添加事件Spinner事件监听
  27. spinner2.setOnItemSelectedListener(new SpinnerXMLSelectedListener());
  28. //设置默认值
  29. spinner2.setVisibility(View.VISIBLE);
  30. }
  31. //使用XML形式操作
  32. class SpinnerXMLSelectedListener implements OnItemSelectedListener{
  33. public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
  34. long arg3) {
  35. view2.setText("你使用什么样的手机:"+adapter2.getItem(arg2));
  36. }
  37. public void onNothingSelected(AdapterView<?> arg0) {
  38. }
  39. }
  40. }

4、运行效果如下:

http://imshare.iteye.com/blog/770950

Android 之 下拉框(Spinner)的使用-转的更多相关文章

  1. Android 之 下拉框(Spinner)的使用

    下拉列表 Spinner. Spinner的使用,可以极大提高用户的体验性.当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来.供用户选择. Demo如下,可以留作参考 一.使用数组作为数 ...

  2. 【转】Android 之 下拉框(Spinner)的使用

    原文网址:http://imshare.iteye.com/blog/770950 下拉列表 Spinner. Spinner的使用,可以极大提高用户的体验性.当需要用户选择的时候,可以提供一个下拉列 ...

  3. Android零基础入门第46节:下拉框Spinner

    原文:Android零基础入门第46节:下拉框Spinner 上一期学习了GridView的使用,你已经掌握了吗?本期一起来学习Spinner的使用. 一.认识Spinner Spinner其实就是一 ...

  4. android实现下拉框(spinner),自己定义大小颜色背景位置,去掉默认样式黑边

    1. 实现最简单的spinner xml文件,有一个TextView,一个Spinner: <RelativeLayout xmlns:android="http://schemas. ...

  5. 下拉框spinner

    repositories { flatDir { dirs 'libs' //就是你放aar的目录地址 maven { url "https://jitpack.io" } }}d ...

  6. Android实现三级联动下拉框 下拉列表spinner

    Android实现(省.市.县)三级联动下拉框 下拉列表spinner 转载请注明出处: http://www.goteny.com/articles/2013/11/46.html http://w ...

  7. Android实现三级联动下拉框下拉列表spinner

    原文出处:http://www.cnblogs.com/zjjne/archive/2013/10/03/3350107.html 主要实现办法:动态加载各级下拉值的适配器 在监听本级下拉框,当本级下 ...

  8. Android 第三方开源下拉框:NiceSpinner

    Android原生的下拉框Spinner基本上可以满足Android开发对于下拉选项的设计需求,但现在越来越流行的下拉框不满足于Android原生提供的下拉框Spinner所提供的设计样式,而改用自定 ...

  9. Android第三方开源下拉框:NiceSpinner

     Android第三方开源下拉框:NiceSpinner Android原生的下拉框Spinner基本上可以满足Android开发对于下拉选项的设计需求,但现在越来越流行的下拉框不满足于Andro ...

随机推荐

  1. 小白安装python软件

    首先下载:anaconda3.x          下载方式:百度搜索 清华镜像anaconda   https://mirrors.tuna.tsinghua.edu.cn/help/anacond ...

  2. java 正则表达式如何提取中文的问题

    String regex="([\u4e00-\u9fa5]+)"; String str="132更新至456"; Matcher matcher = Pat ...

  3. java HttpServletRequest 重复流读取

    在用reset接口的时候,常常会使用request.getInputStream()方法,但是流只能读取一次,一旦想要加上一个过滤器用来检测用户请求的数据时就会出现异常.   在过滤器中通过流读取出用 ...

  4. C++系统学习一:基本数据类型和变量

    程序语言 程序语言最基本的特征 整型.字符型等内置类型 变量,用来为对象命名 表达式和语句,操纵上述数据类型的具体值 if等控制结构 函数,定义可供随时调用的计算单元 程序语言的扩展 自定义数据类型 ...

  5. CF-1100 E Andrew and Taxi

    CF-1100E Andrew and Taxi https://codeforces.com/contest/1100/problem/E 知识点: 二分 判断图中是否有环 题意: 一个有向图,每边 ...

  6. 【php】png 图片压缩 透明底色变黑

    需要使用gd库的方法 php需要引入gd扩展支持 /* * 图片压缩 ----------------------------------------------------------------- ...

  7. 什么是php?php的优缺点有哪些?与其它编程语言的优缺点?

    身为一个PHP开发者,有必要了解一下PHP的缺点,知道每种语言的优点和缺点,才能知道某种语言在什么场景下适合使用,在什么场景下不适合使用. 这个问题我曾经面试的时候遇到过,我之前没总结过,第一问大部分 ...

  8. python安装numpy模块

    1.打开网址https://pypi.python.org/pypi/numpy,找到安装的python版本对应的numpy版本. 我的python版本是 下载的对应numpy版本是 2.将numpy ...

  9. (转) 改变UITextField placeHolder颜色、字体 、输入光标位置等

    我们有时需要定制化UITextField对象的风格,可以添加许多不同的重写方法,来改变文本字段的显示行为.这些方法都会返回一个CGRect结构,制定了文本字段每个部件的边界范围,甚至修改placeHo ...

  10. LIN总线协议

    汽车电子类的IC有的采用LIN协议来烧录内部NVM,如英飞凌的TLE8880N和博世的CR665D. LIN总线帧格式如下,一个LIN信息帧有同步间隔.同步域.标示符域(PID域).数据域.校验码域. ...