Spinner的简单实用
1.Spinner的功能
- Spinner在Android中主要实现的是一个下拉列表,这个下拉列表相当于弹出一个弹出一个菜单供用户选择。即Spinner提供一个快速的方法从一组中选择一个值,默认状态下Spinner显示当前选择的值。触摸Spinner与其他所有可用值构成一个下拉菜单,用户可以选择一个新的值。
2.认识Spinner
- 声明:
public class Spinner
extends AbsSpinner
implements DialogInterface.OnClickListener
- 常用属性:
| 属性名称 | 属性实例 | 属性描述 |
|---|---|---|
| entries | android:entries=”@array/city” | 使用数组资源设置该下拉列表框的列表项 |
| dropDownWidth | android:dropDownWidth=”50sp” | 设置下拉列表项的宽度 |
| spinnerMode | android:spinnerMode=”dialog” | 设置下拉列表项的显示方式: dialog和dropdown |
| popupBackground | android:popupBackground=”#0ff” | 设置列表项背景 |
| prompt | android:prompt=”提示信息” | 设置列表选择框的提示信息 |
3.Spinner实例
- 在XML文件中定义数组资源,使用entries属性让Spinner展示列表项,注意属性entries的使用。code display02中style属性将Spinner设置为dialog的形式,以便将prompt属性设置的提示信息显示出来。
<!--code display01-->
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner_city1"
android:entries="@array/city"
android:dropDownWidth="50sp"
android:popupBackground="#0ff"
android:spinnerMode="dropdown"/>
<!--code display02-->
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner_city2"
android:entries="@array/city"
android:dropDownWidth="10sp"
android:popupBackground="#0ff"
android:prompt="@string/prompt_name"
style="@android:style/Widget.Spinner" />
<resources>
<string name="app_name">Spinner</string>
<!--数组资源代码-->
<array name="city">
<item >北京</item>
<item >杭州</item>
<item >西安</item>
<item >成都</item>
</array>
</resources>
- 使用adapter为Spinner提供列表项,在main.java中可以使用setPrompt()方法设置提示信息,因为在XML文件中使用spinnerMode属性已经将spinner设置为dialog的形式了。
<!--code display03-->
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/spinner_color"
android:dropDownWidth="100sp"
android:popupBackground="#0ff"
android:spinnerMode="dialog"/>
/*
* main.java
*/
package com.manu.spinner;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
public class MainActivity extends AppCompatActivity {
private Spinner spinner;
private String[] colors = {"red","green","blue","yellow","pink"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//根据id获得Spinner组件
spinner = (Spinner) findViewById(R.id.spinner_color);
//创建适配器
//public ArrayAdapter (Context context, int resource, int textViewResourceId, T[] objects)
//参数(上下文,系统自带的TextView或自定义的用于显示子项的TextView,要显示的数据)
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,colors);
spinner.setPrompt("请选择喜欢的颜色!");
spinner.setAdapter(adapter);
}
}
/*
* code display04
* 为spinner添加事件监听器
*/
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(MainActivity.this,spinner.getItemAtPosition(position).toString()+" is selected!",Toast.LENGTH_SHORT).show();
}
//Spinner默认显示第一项
@Override
public void onNothingSelected(AdapterView<?> parent) {
Toast.makeText(MainActivity.this,"no selected!",Toast.LENGTH_SHORT).show();
}
});
- 显示效果:
初识Spinner,以后继续深入了解和学习~
Spinner的简单实用的更多相关文章
- jQuery的几种简单实用效果
许久未分享博客,或许已生疏. 闲来无事, 分享几个jQuery简单实用的效果案例 不喜勿喷... 1.页面常用的返回顶部 <!DOCTYPE html> <html lang=&qu ...
- 经验分享:10个简单实用的 jQuery 代码片段
尽管各种 JavaScirpt 框架和库层出不穷,jQuery 仍然是 Web 前端开发中最常用的工具库.今天,向大家分享我觉得在网站开发中10个简单实用的 jQuery 代码片段. 您可能感兴趣的相 ...
- 简单实用的PHP防注入类实例
这篇文章主要介绍了简单实用的PHP防注入类实例,以两个简单的防注入类为例介绍了PHP防注入的原理与技巧,对网站安全建设来说非常具有实用价值,需要的朋友可以参考下 本文实例讲述了简单实用的PHP防注 ...
- php简单实用的操作文件工具类(创建、移动、复制、删除)
php简单实用好用的文件及文件夹复制函数和工具类(创建.移动.复制.删除) function recurse_copy($src,$dst) { // 原目录,复制到的目录 $dir = opend ...
- 基于Bootstrap简单实用的tags标签插件
http://www.htmleaf.com/jQuery/ jQuery之家 自由分享jQuery.html5和css3的插件库 基于Bootstrap简单实用的tags标签插件
- C#_简单实用的翻页
简单实用的生成翻页HTML辅助类 C# using System.Text; namespace ClassLibrary { /// <summary> /// /// </sum ...
- 简单实用的Windows命令(一)
前几天新买了一台笔记本电脑,使用了一下几个简单的查看电脑配置的命令,觉得非常的不错,在此记录一下 一:运行命令的方式有两种 1:使用快捷键WIN+R,然后在弹出的“运行”对话框中输入对应的命令 2:在 ...
- 简单实用的Windows命令(二)
昨天简单的记录了几个非常简单实用的Windows命令,不过我又想起来还有两个我在实际的工作中也是经常用到的命令——PING和IPCONFIG,不过我在工作中的使用都是非常简单的,用PING命令检测对应 ...
- iOS边练边学--多线程介绍、NSThread的简单实用、线程安全以及线程之间的通信
一.iOS中的多线程 多线程的原理(之前多线程这块没好好学,之前对多线程的理解也是错误的,这里更正,好好学习这块) iOS中多线程的实现方案有以下几种 二.NSThread线程类的简单实用(直接上代码 ...
随机推荐
- JZOJ 5258. 友好数对 (Standard IO)
5258. 友好数对 (Standard IO) Time Limits: 1000 ms Memory Limits: 524288 KB Detailed Limits Description I ...
- Flask css 无法实时更新
css代码改完了,但是查看网页源代码css的内容还是很久之前的,根本没有更新 解决方法: 1.浏览器缓存.使用ctrl+F5刷新一下页面 2. 3. from datetime import time ...
- 个人理解TCP中SYN Cookie
说起SYN Cookie还是得从TCP3次握手开始说起,先给出计网的体系结构图 然后解释一下SYN,seq,ack,ACK的相关名词 SYN(建立连接) ACK(确认后全部为1) PSH(传送) FI ...
- Layabox enabled 脚本禁用 坑
从unity入坑到Layabox,真的是一路踩坑啊,今天这个坑叫做 脚本禁用 enabled 问题一: 首先看官方文档 https://ldc2.layabox.com/doc/?nav=zh-ts- ...
- 添加谷歌拓展程序 vue.js devtools过程中的问题
在用vue做项目过程中,需要用到vue.js devtools,在从github上面clone下来代码,然后再npm install ,过程报错,然后更新npm包也是会有问题,以下是install的问 ...
- 搭建OpenStack私有云准备工作
Centos7安装完成后克隆其他子节点 首先在VMware中:右击 虚拟机controller-->设置-->添加-->网络适配器,然后做如下设置: 在VMware中操作 点击:克隆 ...
- 原生Canvas循环滚动弹幕(现金红包活动带头像弹幕)
效果 gif有些糊,可以 在线预览 实现关键点 requestAnimationFrame 循环帧: 绘制单条弹幕,画框子 -> 画头像 -> 写黑色的字 -> 写红色的字, mea ...
- Java多线程详解(转载)
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 本文主要讲了java中多线程的使用方法.线程同步.线程数据传递.线程状态及相应的一些线程函数用 ...
- 4. selenium中鼠标和键盘操作
一.鼠标操作 第一步:引入模块函数 from selenium.webdriver.common.action_chains import ActionChains 第二步:元素定位 element ...
- 让 Linux 防火墙新秀 nftables 为你的 VPS 保驾护航
上篇文章 给大家介绍了 nftables 的优点以及基本的使用方法,它的优点在于直接在用户态把网络规则编译成字节码,然后由内核的虚拟机执行,尽管和 iptables 一样都是基于 netfilter, ...