android下拉菜单spinner的使用方法
java.lang.Object
↳ android.view.View
↳ android.view.ViewGroup
↳ android.widget.AdapterView<Textends android.widget.Adapter>
↳ android.widget.AbsSpinner
↳ android.widget.Spinner
android.widget.Spinner继承了android.view.ViewGroup类。
在Android的UI开发中,Spinner(下拉列表)总是可以用到的,一个简单的自定义Spinner制作我们只需要记住这重要的五步,一个Spinner就可以应用而生了。
(1)新建一个android工程,名称为Spinner。同时建一个Activity,名称为SpinnerActivity。

(2)修改res/layout/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"
- >
- <TextView
- android:id = "@+id/TextView_city"
- android:layout_width = "wrap_content"
- android:layout_height = "wrap_content"
- android:text = "所在城市:"
- />
- <!-- 定义一个城市信息下拉菜单-->
- <Spinner
- android:id = "@+id/Spinner_city"
- android:layout_width = "wrap_content"
- android:layout_height ="wrap_content" >
- </Spinner >
- </LinearLayout>
(3)SpinnerActivity.java 代码。
- package cn.com;
- import java.util.ArrayList;
- import java.util.List;
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.MotionEvent;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.ArrayAdapter;
- import android.widget.Spinner;
- import android.widget.TextView;
- public class SpinnerActivity extends Activity {
- /** Called when the activity is first created. */
- private List<String> list = new ArrayList<String>();
- private TextView myTextView;
- private Spinner mySpinner;
- private ArrayAdapter<String> adapter;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- //第一步:添加一个下拉列表项的list,这里添加的项就是下拉列表的菜单项
- list.add("北京");
- list.add("上海");
- list.add("深圳");
- list.add("福州");
- list.add("厦门");
- myTextView = (TextView)findViewById(R.id.TextView_city);
- mySpinner = (Spinner)findViewById(R.id.Spinner_city);
- //第二步:为下拉列表定义一个适配器,这里就用到里前面定义的list。
- adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, list);
- //第三步:为适配器设置下拉列表下拉时的菜单样式。
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- //第四步:将适配器添加到下拉列表上
- mySpinner.setAdapter(adapter);
- //第五步:为下拉列表设置各种事件的响应,这个事响应菜单被选中
- mySpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){
- public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
- // TODO Auto-generated method stub
- /* 将所选mySpinner 的值带入myTextView 中*/
- myTextView.setText("您选择的是:"+ adapter.getItem(arg2));
- /* 将mySpinner 显示*/
- arg0.setVisibility(View.VISIBLE);
- }
- public void onNothingSelected(AdapterView<?> arg0) {
- // TODO Auto-generated method stub
- myTextView.setText("NONE");
- arg0.setVisibility(View.VISIBLE);
- }
- });
- /*下拉菜单弹出的内容选项触屏事件处理*/
- mySpinner.setOnTouchListener(new Spinner.OnTouchListener(){
- public boolean onTouch(View v, MotionEvent event) {
- // TODO Auto-generated method stub
- /**
- *
- */
- return false;
- }
- });
- /*下拉菜单弹出的内容选项焦点改变事件处理*/
- mySpinner.setOnFocusChangeListener(new Spinner.OnFocusChangeListener(){
- public void onFocusChange(View v, boolean hasFocus) {
- // TODO Auto-generated method stub
- }
- });
- }
- }
运行结果如下图所示:


android下拉菜单spinner的使用方法的更多相关文章
- Android 下拉菜单 Spinner 赋值
private Spinner m_spiModel = null; //产品型号 m_spiModel = (Spinner) findViewById(R.id.spiModel);//产品型号 ...
- android下拉菜单 spinner 学习
首先看一下继承关系: public class Spinner extends AbsSpinner implements DialogInterface.OnClickListener Class ...
- 下拉菜单 Spinner 简单纯字符串版
下拉菜单 Spinner 简单纯字符串版 public class MainActivity extends Activity implements AdapterView.OnItemSelecte ...
- Firemonkey TComboBox 下拉菜单字型修改方法 (D10)
在 FMX 下的 TComboBox 下拉菜单字型修改有二种方法: uses FMX.Pickers; 使用 Style,需先设定好 Style 后,再指定预设项的 Style,方法如下: proce ...
- CSS实现下拉菜单的几种方法
PS:转自https://www.cnblogs.com/yewenxiang/p/6064117.html 第一种:display:none和display:block切换 1 <!DOCTY ...
- Excel设置数据有效性实现单元格下拉菜单的3种方法(转)
http://blog.csdn.net/cdefu/article/details/4129136 一.直接输入: 1.选择要设置的单元格,譬如A1单元格: 2.选择菜单栏的“数据”→“有效性”→出 ...
- Android开发手记(10) 下拉菜单Spinner
1.自定义Spinner 首先,定义Spinner要显示的项目列表/res/values/arrays.xml <?xml version="1.0" encoding=&q ...
- ExtJs 下拉菜单分页工具插件 代码分析
Ext.ns("Ext.ux"); //创建插件对象 Ext.ux.PageSizePlugin = function(){ //调用父对象的构造方法,并为此插件生成一个预定义st ...
- Bootstrap下拉菜单
前面的话 网页交互的时候经常会需要上下文菜单或者隐藏/显示菜单项,Bootstrap默认提供了用于显示链接列表的可切换.有上下文的菜单.而且在各种交互状态下的菜单展示需要和javascript插件配合 ...
随机推荐
- Selenium2+python自动化9-CSS定位语法【转载】
前言 大部分人在使用selenium定位元素时,用的是xpath定位,因为xpath基本能解决定位的需求.css定位往往被忽略掉了,其实css定位也有它的价值,css定位更快,语法更简洁.这一篇css ...
- Selenium2+python自动化4-Pycharm使用【转载】
前言 在写脚本之前,先要找个顺手的写脚本工具.python是一门解释性编程语言,所以一般把写python的工具叫解释器.写python脚本的工具很多,小编这里就不一一列举的,只要自己用着顺手就可以的, ...
- StringBuffer 清空
几种方法: 方法1: 1 2 3 4 StringBuffer my_StringBuffer = new StringBuffer(); my_StringBuffer.append('hellow ...
- kong后台接口
在nginx-kong.lua中,require('lapis').serve('kong.api'),先require文件/usr/local/share/lua/5.1/lapis/init.lu ...
- centos下crontab的使用
1.作用 使用crontab命令可以修改crontab配置文件,然后该配置由cron公用程序在适当的时间执行,该命令使用权限是所有用户. 2.格式 crontab [-u user] {-l | -r ...
- Netbeans 中部署运行Webservice出错
错误如下 at java.lang.StackTraceElement at public java.lang.StackTraceElement[] java.lang.Throwable.ge ...
- Matlab中find函数陷阱
a = [ 1 2 3 3 3]; 如果a==3 返回[ 0 0 1 1 1]; find(a==3) 返回[3 4 5],这才是想要的下标.
- iOS开发之字符串比较
Object-c中比较两个字符串是否相等时,应该用isEqualToString:而不能仅仅只是比较字符串的指针值. NSString *str1=@"hello 1"; NSS ...
- JAX-WS编写webservice
1.新建一个Java工程 2.创建要发布的类 package com.linjian.webservice; import javax.jws.WebMethod; import javax.jws. ...
- python中pickle简介
2017-04-10 pickle是用来加工数据的,可以用来存取结构化数据. 例如: 一个字典a = {'name':'Timmy','age':26},用pickle.dump存到本地文件,所存数据 ...