android 学习 Spinner控件的使用
今晚看了下spinner控件的使用,结合博客大神的教程,一个小demo
一,SpinnerActivity
private Spinner spinner;
private ArrayAdapter<String> adapter;
private List<String> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_spinner);
list = new ArrayList<String>();
spinner = (Spinner)findViewById(R.id.spinner);
initListData();
adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list);
adapter.setDropDownViewResource(R.layout.spinner_dropdownlayout);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String add = adapter.getItem(position);
Toast.makeText(getBaseContext(),add,Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) { }
});
}
spinner 在使用的时候和之前学习的listview gridview 一样,都需要预先加载好数据,所以一样也要使用适配器进行绑定。demo就使用的简单的ArrayAdapter,显示一个字符串就可以说明问题了。使用的布局样式还是系统自带的 android.R.layout.simple_spinner_item
查看源码,布局也很简单,单行,滚动,还有就是设置文字的对齐方式
simple_spinner_item.xml
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:textAlignment="inherit"/>
还有一个地方需要注意,就是 setDropDownViewResource,该函数用来设置下拉菜单样式,在demo中用了下自定义的下拉样式,内部布局也是一个简单TextView,设置文字大小,文字颜色等属性。当然成功显示。
如果没有设置下拉样式,那么该样式和spinner的样式是一样的。
spinner有两种显示方式 一种是弹框,一种是下拉,可以通过属性设置。
android:spinnerMode="dropdown"
android:spinnerMode="dialog"
spinner_dropdownlayout.xml
<?xml version="1.0" encoding="utf-8"?> <TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="24sp"
android:singleLine="true"
android:textColor="#045556"
style="?android:attr/spinnerDropDownItemStyle" />
如果需要显示图片,文字混排的样式,那么使用SimpleAdapter适配器,就跟上节一样,然后把下拉样式也设置成一样的。
android 学习 Spinner控件的使用的更多相关文章
- Android的Spinner控件用法解析
微调框 微调框提供一种方法,让用户可以从值集中快速选择一个值.默认状态下,微调框显示其当前所选的值. 触摸微调框可显示下拉菜单,其中列有所有其他可用值,用户可从中选择一个新值. 您可以使用 Spinn ...
- android之Spinner控件用法
用法1: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:too ...
- 五、Android学习第四天补充——Android的常用控件(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 五.Android学习第四天补充——Android的常用控件 熟悉常用的A ...
- Android spinner控件
spinner控件是Android中下拉控件,现在介绍它两种用法.第一种,从资源文件中获取下拉值:第二种,从代码中获取下拉值. 第一种,首先要在资源文件中把值写好: <?xml version= ...
- 大约Android PopupWindow有用Spinner控件点击APP Crash案例整理!
场景异常,如下面: android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.V ...
- android Spinner控件详解
Spinner提供了从一个数据集合中快速选择一项值的办法.默认情况下Spinner显示的是当前选择的值,点击Spinner会弹出一个包含所有可选值的dropdown菜单,从该菜单中可以为Spinner ...
- Android Material Design控件学习(三)——使用TextInputLayout实现酷市场登录效果
前言 前两次,我们学习了 Android Material Design控件学习(一)--TabLayout的用法 Android Material Design控件学习(二)--Navigation ...
- Android——spinner控件实现读取xml资源,省、市两级互动
(1)首先在res文件夹下面的values中创建一个省市arrays.xml文件夹,如下 <?xml version="1.0" encoding="utf-8&q ...
- Android UI学习1:控件和基本事件的响应
在任何一个 GUI 系统中,控制界面上的控件(通常称为控件)都是一个基本的内容.对于 Android 应用程序,控件称为 View. 在 Android 中,在处理 UI 中的各种元素的时候,两个程序 ...
随机推荐
- 论MyBatis日志
Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种工具: SLF4J Apache Commons Logging Log4j 2 Log4j JDK logging 具体选择哪个日志 ...
- Bootstrap进度条
前面的话 在网页中,进度条的效果并不少见,比如一个评分系统,比如加载状态等,通过简单.灵活的进度条,可以为当前工作流程或动作提供实时反馈.本文将详细介绍Bootstrap进度条 基本样式 Bootst ...
- Java学习笔记之集合
集合(Collection)(掌握) (1)集合的由来? 我们学习的是Java -- 面向对象 -- 操作很多对象 -- 存储 -- 容器(数组和StringBuffer) -- 数组而数组的长度固定 ...
- h5 新增特性用法---持续更新
1.dataset <div class="box" data-title1="自定义属性" data-age="18" data-m ...
- TortoiseGit上传项目到github方法(超简单)
Github是咱广大开发者用的非常多的项目版本管理网站,项目托管可以是私人的(private)或者公开的(public),私人的收费,一个月7美金.咱这里就只说我们个人使用的,一般都是代码对外开放的: ...
- Windows平台下搭建MySQL数据库
1.下载安装MySQL数据库: (1)->我的标签->软件下载->计算机相关专业所用软件---百度云链接下载->mysql-installer-community-5.7.18 ...
- EntityManager 实例化方法
Configure the EntityManager via a persistence.xml file <persistence xmlns="http://java.sun.c ...
- Oracle强制启动和关闭实例
要启动和关闭数据库,必须要以具有Oracle 管理员权限的用户登陆,通常也就是以具有SYSDBA权限的用户登陆.一般我们常用SYS用户以SYSDBA连接来启动和关闭数据库.下面介绍Oracle数据库几 ...
- Java之面向对象概述,类,构造方法,static,主方法,对象
一.面向对象概述 面向过程 "面向过程"(Procedure Oriented)是一种以过程为中心的编程思想.这些都是以什么正在发生为主要目标进行编程,不同于面向对象的是谁在受影响 ...
- Spring AOP 和 动态代理技术
AOP 是什么东西 首先来说 AOP 并不是 Spring 框架的核心技术之一,AOP 全称 Aspect Orient Programming,即面向切面的编程.其要解决的问题就是在不改变源代码的情 ...