博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android Picker
阅读量:6122 次
发布时间:2019-06-21

本文共 1875 字,大约阅读时间需要 6 分钟。

介绍几个Android自带的选择器.

对话框

以下类属于Dialog的子类. 代码中创建对话框的形式

  • DatePickerDialog 日期选择器
  • TimePickerDialog 时间选择器
  • CharaterPickerDialog 字符选择器(废弃)

控件

在布局中使用的控件

  • DatePicker 日期选择器
  • TimePicker 时间选择器
  • NumberPicker 数字选择器

时间选择器

关键类:TimePickerDialog

示例代码:

new TimePickerDialog(mContext, new TimePickerDialog.OnTimeSetListener() {                 @Override                 public void onTimeSet(TimePicker view, int hourOfDay, int minute) {                 }             }, 5,6,true).show();复制代码

唯一需要关心的方法

void onClick (DialogInterface dialog,                 int which)复制代码

日期选择器

关键类: DatePickerDialog

示例代码:

new DatePickerDialog(mContext, new DatePickerDialog.OnDateSetListener() {                    @Override                    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {                    }                },2017, 4, 10).show();复制代码

数字选择器

关键类:NumberPicker

虽然名字叫做数字选择器, 但实际上字符串都可以. 提供键盘输入(要求输入的内容在范围内)和滑动选择两种输入方式.

复制代码

除了布局创建要想正常工作还需要代码指定参数

  1. 范围
  2. 最大值和最小值
mPicker.setDisplayedValues(new String[] { "我", "是", "肥宅" }); // 范围        mPicker.setMinValue(0); // 可滑动最大值        mPicker.setMaxValue(2); // 可滑动最小值        mPicker.setValue(2); // 设置当前选中复制代码

值变化监听器

mPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {            @Override public void onValueChange(NumberPicker picker, int oldVal, int newVal) {            }        });复制代码

当前状态监听器

mPicker.setOnScrollListener(new NumberPicker.OnScrollListener() {            @Override public void onScrollStateChange(NumberPicker view, int scrollState) {            }        });复制代码

scrollState有三种状态:

  1. SCROLL_STATE_FLING
  2. SCROLL_STATE_IDLE
  3. SCROLL_STATE_TOUCH_SCROLL

长按更新数据

// 长按响应时间, 默认300msvoid setOnLongPressUpdateInterval (long intervalMillis)复制代码

通过实现接口NumberPicker.Formatter可以自定义格式

void setFormatter (NumberPicker.Formatter formatter)复制代码

字符选择器

关键类:CharaterPickerDialog

太丑, 没啥意义. 随便自定义个对话框都比他好看. 我就不讲了

转载地址:http://pnwua.baihongyu.com/

你可能感兴趣的文章
多线程设计模式
查看>>
解读自定义UICollectionViewLayout--感动了我自己
查看>>
SqlServer作业指定目标服务器
查看>>
UnrealEngine4.5 BluePrint初始化中遇到编译警告的解决办法
查看>>
User implements HttpSessionBindingListener
查看>>
抽象工厂方法
查看>>
ubuntu apt-get 安装 lnmp
查看>>
焊盘 往同一个方向增加 固定的长度方法 总结
查看>>
eclipse的maven、Scala环境搭建
查看>>
架构师之路(一)- 什么是软件架构
查看>>
jquery的冒泡和默认行为
查看>>
USACO 土地购买
查看>>
【原创】远景能源面试--一面
查看>>
B1010.一元多项式求导(25)
查看>>
10、程序员和编译器之间的关系
查看>>
前端学习之正则表达式
查看>>
配置 RAILS FOR JRUBY1.7.4
查看>>
AndroidStudio中导入SlidingMenu报错解决方案
查看>>
修改GRUB2背景图片
查看>>
Ajax异步
查看>>