不一样的Android选择器,简单方便,地址日期时间都好用!
前言
Android开发有不少情况下会用到Picker,例如选择 地址、日期、时间。
原生Picker和仿iOS的Picker都是上下或左右滑动到固定区域来选择选项:
显示数量少,如果当前选项距离需要的选项比较远就得滑很多次;
滑动不好控制,一不小心就滑过了需要往相反方向慢慢滑回来,很烦人。
ZBLibrary中的GridPicker每页显示多行多列,大大增加了显示数量;将滑动选择改为点击选择,大大提高了操作精度。
一、原生Picker



问题:
1.地址和时间选择器显示的选项数量少,还只能挨个切换,效率低下。
2.日期选择器选择年份需要点击最上方年份文字,手指不容易够到,显示的选项也较少;
月份选择要点击左右箭头或左右滑动,只能挨个切换,效率低下。
二、仿iOS的Picker



问题:
1.显示的选项数量少。
2.选项只能挨个切换。
3.需要上下滑动到指定方框,不好控制。
三、ZBLibrary GridPicker
以下Gif图看起来比较卡,实际上手机运行得很流畅



所有操作都在下半屏,操作轻松;
每页显示多行多列,大大增加了显示数量;
将滑动选择改为点击选择,大大提高了操作精度。
ZBLibrary GridPicker完美地解决了以上所有问题!
如何使用ZBLibrary GridPicker
1.下载、导入、依赖ZBLibrary
点击右边链接查看 http://my.oschina.net/u/2437072/blog/665241
2.打开对应Activity并传值
以日期选择器DatePickerWindow为例:

可以这样打开并传值
toActivity(DatePickerWindow.createIntent(context, new int[]{1971, 0, 1}
, TimeUtil.getDateDetail(System.currentTimeMillis())), 1000, false);
toActivity是ZBLibrary中BaseActivity里的方法,可以换成startActivityForResult
3.onActivityResult中接收返回结果
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode != RESULT_OK) {
return;
} switch (requestCode) {
case 1000:
if (data != null) {
ArrayList<Integer> list = data.getIntegerArrayListExtra(DatePickerWindow.RESULT_DATE_DETAIL_LIST);
if (list != null && list.size() >= 3) { showShortToast("选择的日期为" + list.get(0) + "-" + (list.get(1) + 1) + "-" + list.get(2));
}
}
break;
default:
break;
}
}
好了。
如果你连2-3这几步都懒得做,把ZBLibrary里的DemoMainActivity.java 复制>粘贴>改名>改代码 就可以啦!
事实上ZBLibrary中的地址、日期、时间选择器都是用GridPickerView来控制显示和操作的,
你也可以使用GridPickerView实现其它用途的选择器。
ZBLibrary-Android快速开发框架

下载地址(欢迎Star,欢迎Fork)
https://github.com/TommyLemon/Android-ZBLibrary
下载试用
不一样的Android选择器,简单方便,地址日期时间都好用!的更多相关文章
- Android日期时间选择器DatePicker、TimePicker日期时间改变事件响应(Android学习笔记)
activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu ...
- Android中实现日期时间选择器(DatePicker和TimePicker)
利用Android应用框架提供的DatePicker(日期选择器)和TimePicker(时间选择器),实现日期时间选择器. Dialog的Content布局文件(date_time_dialog.x ...
- 【Android 应用开发】Android 开发环境下载地址 -- 百度网盘 adt-bundle android-studio sdk adt 下载
19af543b068bdb7f27787c2bc69aba7f Additional Download (32-, 64-bit) Package r10 STL debug info androi ...
- Android 实现简单音乐播放器(二)
在Android 实现简单音乐播放器(一)中,我介绍了MusicPlayer的页面设计. 现在,我简单总结一些功能实现过程中的要点和有趣的细节,结合MainActivity.java代码进行说明(写出 ...
- Android 实现简单音乐播放器(一)
今天掐指一算,学习Android长达近两个月了,今天开始,对过去一段时间的学习收获以及遇到的疑难杂症做一些总结. 简单音乐播放器是我自己完成的第一个功能较为完整的APP,可以说是我的Android学习 ...
- Android课程---Android Studio简单设置
Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以选择使用炫酷的黑色界面.Settings-->Appearance-->Theme, ...
- Android实现简单音乐播放器(MediaPlayer)
Android实现简单音乐播放器(MediaPlayer) 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 工程内容 实现一个简单的音乐播放器,要求功能 ...
- Android实现简单拨号器
Android实现简单拨号器 开发工具:Andorid Studio 1.3 运行环境:Android 4.4 KitKat 代码实现 界面布局只有GridLayout和EditText两个控件,全部 ...
- 【转】Android Studio简单设置
原文网址:http://ask.android-studio.org/?/article/14 Android Studio 简单设置 界面设置 默认的 Android Studio 为灰色界面,可以 ...
随机推荐
- Bootstrap_媒体对象
一.基本媒体对象 媒体对象一般是成组出现,而一组媒体对象常常包括以下几个部分: ☑ 媒体对像的容器:常使用“media”类名表示,用来容纳媒体对象的所有内容 ☑ 媒体对像的对象:常使用“media-o ...
- 3.密码pasuwado————记第一次超越Candy?
激动人心的2016.11.4模拟赛结束了 更激动人心的是我得了90分,第一次超越豪哥,特立文纪念. 3.密码 [问题描述] 哪里有压迫,哪里就有反抗. moreD的宠物在法庭的帮助下终于反抗了.作为一 ...
- 【leetcode❤python】 125. Valid Palindrome
#-*- coding: UTF-8 -*- class Solution(object): def isPalindrome(self, s): ""&quo ...
- ognl.OgnlException: target is null for setProperty(null, "emailTypeNo", [Ljava.lang.String;@1513fd0)
[com.opensymphony.xwork2.ognl.OgnlValueStack] - Error setting expression 'emaiTypeDto.emailTypeNo' w ...
- 记SpannableString设多少span时注意事项
public void setSpan(Object what, int start, int end, int flags) { } 这个方法里的第一个参数,也就是一些span的对象,不能重复使用. ...
- Sprint(第九天11.22)
- Java Web之会话管理一: 使用Cookie进行会话管理
一.Cookie的概念 Cookie(会话)可以简单的理解为:用户开一个浏览器,点击多个链接,访问服务器多个web资源,然后关闭浏览器,整个过程称为一个会话. 二.会话过程中解决的问题 用户在使用浏览 ...
- mysql表创建好后添加外键
命令:alter table 需加外键的表 add constraint 外键名 foreign key(需加外键表的字段名) referencnes 关联表名(关联字段名); 注意:外键名不能重复
- android模拟器用命令和DDMS模拟来电和短信
以下方法均测试成功 一.用命令模拟 (一).模拟来电 1.打开命令行cmd,输入telnet 回车. 2.然后输入 o localhost 5554 回车,连到Emulator上. 3.输入 ...
- Intellij 打开就闪退或关闭
找到安装目录的bin目录,搜索vmoptions可以看到两个文件, idea.exe.vmoptions idea64.exe.vmoptions 这两个文件就是IDEA的一些配置文件,带64位 ...