Android Spinner组件的使用方法
Spinner是什么呢,其实就是我们常见的下拉框,比如:
首先,我们要创建一个Spinner,才能在Spinner中添加我们想要的元素,在xml文件中:
<Spinner
android:id="@+id/Spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</Spinner> <!--事件响应时展示的图片 !-->
<ImageButton
android:id="@+id/turtleImg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/mike"/>
接着,我们要写我们的java程序了, 主要是onCreate()方法:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
List<String> turtleList = new ArrayList<>();
turtleList.add("Don");
turtleList.add("Mike");
turtleList.add("Leo");
turtleList.add("Raph");
Spinner spinner = findViewById(R.id.Spinner);
// 为下拉列表定义一个适配器,使用到上面定义的turtleList
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, turtleList);
// 为适配器设置下拉列表下拉时的菜单样式,有好几种样式,请根据喜好选择
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// 将适配器添加到下拉列表上
spinner.setAdapter(adapter);
// 为下拉框设置事件的响应
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
/**
*
* @param adapterView
* @param view 显示的布局
* @param i 在布局显示的位置id
* @param l 将要显示的数据
*/
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
ArrayAdapter<String> adapter = (ArrayAdapter<String>) adapterView.getAdapter();
ImageButton turtleImaBtn = findViewById(R.id.turtleImg);
if(adapter.getItem(i).equals("Don")){
turtleImaBtn.setImageResource(R.drawable.don);
}
else if(adapter.getItem(i).equals("Mike")){
turtleImaBtn.setImageResource(R.drawable.mike);
}
else if(adapter.getItem(i).equals("Leo")){
turtleImaBtn.setImageResource(R.drawable.leo);
}
else if(adapter.getItem(i).equals("Raph")){
turtleImaBtn.setImageResource(R.drawable.raph);
}
} @Override
public void onNothingSelected(AdapterView<?> adapterView) { }
}); }
最后我们运行结果,如图所示:
Android Spinner组件的使用方法的更多相关文章
- Xamarin android spinner的使用方法
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- android中使用spinner组件,以key,value的方式
接着上一篇文章的内容:android中使用spinner组件 稍做修改,以key,value的方式,在实际使用中,经常需要获取的值并不一定跟显示的内容一致. 需要先添加一个对象类,用来描述key,va ...
- android中使用spinner组件
spinner组件类似于html中的select标签,实现下拉选择框的功能. 添加一个Activity,界面上添加一个spinner下拉框,一个button按钮.点击按钮,获取spinner下拉框当前 ...
- android基础组件---->Spinner的使用
Spinner提供了一个快速的方式从集合中选择值.在默认状态下,一个Spinner显示的是当前选择的值.触摸Spinner会显示一个下拉菜单,用户可以从中选择一个值.今天我们就开始Spinner的学习 ...
- Android Spinner使用简介
Android中使用Spinner作为下拉列表,下面直接看实现方式: (1)使用ArrayAdapter来实现: 实现步骤: 1. 在布局文件中定义Spinner组件: 2. 向Spinner添加需要 ...
- 所谓 Spinner 组件
Spinner组件在平常的开发过程中应该算是比较常用的隶属于Input Control的android控件了,所以我们很有必要掌握这一个知识点,下面我就来谈一谈我对这个组件的一些认识. 是什么? 下拉 ...
- Android Spinner 下拉框简单应用 详细注解
目录 Android Spinner 代码部分 Spinner代码介绍 核心代码 说在最后 @ Android Spinner Spinner 提供下拉列表式的输入方式,该方法可以有效节省手机屏幕上的 ...
- Android四大组件之一“广播”
前言 Android四大组件重要性已经不言而喻了,今天谈谈的是Android中的广播机制.在我们上学的时候,每个班级的教室里都会装有一个喇叭,这些喇叭都是接入到学校的广播室的,一旦有什么重要的通知,就 ...
- Android 四大组件 与 MVC 架构模式
作为一个刚从JAVA转过来的Android程序员总会思考android MVC是什么样的? 首先,我们必须得说Android追寻着MVC架构,那就得先说一下MVC是个啥东西! 总体而来说MVC不能说是 ...
随机推荐
- CentOS服务器初始化设置
CentOS服务器初始化设置 以阿里云服务器为例 一.挂载硬盘 1.磁盘分区 fdisk -l #查看设备,一般可以看到设备名为/dev/xvdb,或者为/dev/vdb(阿里云io优化型) fdis ...
- Asp.net MVC 服务端验证多语言错误
服务端验证用户提交信息时为了实现多语言使用了资源文件,如: using System.ComponentModel.DataAnnotations; public class UserModel { ...
- 转 zigbee学习笔记---Channel、PANID、发射功率及其它参数
现对z-stack里几个网络参数的设置以及如何获取总结一下.信道配置:Zigbee在3个频段定义了27个物理信道:868MHz频段中定义了1个20Kb/s信道,915MHz频段中定义了10个40Kb/ ...
- php使用GD库实现图片水印和缩略图——给图片添加图片水印
今天呢,就来学习一下在php中使用PD库来实现对图片水印的文字水印方法,不需要PS哦! 首先,准备素材 (1)准备一张图片 (2)准备一张水印(最好是透明的,即背景是白色底) (3)准备一中字体(在电 ...
- TFS看板的迭代规划
故事点 故事点更多体现的是用户情景或者bug的规模,采用斐波拉契数列(1,2,3,5,8,13)这样的数字表示,包含如下内容: 相对工作量 复杂度 风险和不确定性 相对工作量 下面演示一个Case来说 ...
- 借鉴一些关于js框架的东西
八款Js框架介绍及比较,Dojo .Scriptaculous .Prototype .yui-ext .Jquery .Mochikit.mootools .moo.fx,componentartu ...
- C#图片上传获取二进制流保存至AD
<form id="form1" runat="server"> <div> <asp:FileUpload ID="F ...
- vue2.0中ckeckbox(复选框)的使用心得,及对click事件和change的理解
最近在公司项目中使用vue2.0做开发,在使用checkbox时遇到了一些问题,首先我们先了解一下需求. 如上如所示,在上方复选框被点击时,更改下方p标签的文本内容为:复选框已被选中.并将p标签文字颜 ...
- 【PHP】$_SERVER整理
PHP变成中经常需要用到服务器的一些资料,我在这里整理一下,方便查找.第一部分为比较常用的$_SERVER $_SERVER['HTTP_ACCEPT_LANGUAGE']//浏览器语言 $_SERV ...
- hadoop核心组件概述及hadoop集群的搭建
什么是hadoop? Hadoop 是 Apache 旗下的一个用 java 语言实现开源软件框架,是一个开发和运行处理大规模数据的软件平台.允许使用简单的编程模型在大量计算机集群上对大型数据集进行分 ...