第32讲 UI组件之 时间日期控件DatePicker和TimePicker

在Android中,时间日期控件相对来说还是比较丰富的。其中,

DatePicker用来实现日期输入设置,    TimePicker用来实现时间输入设置。

DatePickerDialog用来显示日期对话框,TimePickerDialog用来显示时间对话框。

AnalogClock用来显示一个指针式时钟,DigitalClock用来显示一个数字式时钟。

、DatePicker

在Android中,DatePicker用来实现日期输入设置,日期的设置范围为1900年1月1日至2100年12月31日。

常用xml属性

属性名称

说明

android:calendarViewShown[boolean]

用于设置是否显示日历视图(calendar view);

android:endYear[int]

用于设置截至日期;

android:maxDate[int]

用于设置最大的日期;

android:minDate[int]

用于设置最小的日期;

android:spinnersShown[boolean]

用于设置是否显示spinners;

android:startYear[int]

用于设置起始日期;

DatePicker的常用方法有以下一些:

方法名称

说明

getDayOfMonth()

获取当前日期的日,返回int

getMonth()

获取当前日期的月,返回int

getYear()

获取当前日期的年,返回int

setEnabked(boolean enabled)

根据传入的参数设置日期选择控件是否可用

updateDate(int year,int month,int dayOfMonth)

更新当前日期

init(int year,int monthOfYear,int dayOfMonth,

DatePicker.OnDateChangedListener onDateChangedListener);

初始化日期,参数onDateChangedListener为监听器对象

新建一个DataPicker对象,添加

android:calendarViewShown="false"   //关闭日历显示

通过DatePicker获取时间方法如下:

DatePicker datePicker=(DatePicker) findViewById(R.id.datePicker1);

//获得当前日期对象

Calendar calendar=Calendar.getInstance();

// 初始化DatePicker

datePicker.init(calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH), new OnDateChangedListener() {

// 为DatePicker指定事件监听器

public void onDateChanged(DatePicker arg0, int year, int month, intday) {

Toast.makeText(MainActivity.this,"The date you pickis:"+year+"."+(month+1)+"."+day+".",0).show();

}

});

、TimePicker

在Android中,TimePicker用来实现时间输入设置,可以选择12或24小时模式。TimePicker的常用方法有以下一些:

方法名称

说明

getCurrentHour()

获取当前时间的小时,返回Integer对象

getCurrentMinute()

获取当前时间的分钟,返回Integer对象;

is24HourView()

获取是否为24小时模式,返回boolean对象;

setCurrentHour(Integer currentHour)

设置当前时间的小时;

setCurrentMinute(Integer currentMinute)

设置当前时间的分钟;

setIs24HourView(Boolean is24HourView)

设置24小时模式,默认为false;

新建一个DataPicker对象

TimePicker timePicker=(TimePicker)findViewById(R.id.timePicker1);

timePicker.setIs24HourView(true);                            //24小时制

timePicker.setOnTimeChangedListener(newOnTimeChangedListener() {

public voidonTimeChanged(TimePicker arg0, int hour, int minute) {

Toast.makeText(MainActivity.this, "The time you pickis:"+hour+":"+minute, 0).show();

}

});

、弹出式Picker:DatePickerDialog TimePickerDialog

时间日期控件占用视图当中大片的面积,开发中我们经常使用对应的对话框组件。

举例,采用弹出框形式设置Date和Time

在Android中,DatePickerDialog用来显示日期对话框。DatePickerDialog的常用方法有以下一些:

方法名称

说明

getDatePicker()

获取DatePicker中的日期值,返回DatePicker对象

onClick(DialogInterface dialog,int which)

响应对话框中的点击事件;

is24HourView()

获取是否为24小时模式,返回boolean对象;

onDateChanged(DatePicker view,int year,int month,int day)

响应日期改变事件;

updateDate(int year,int monthOfYear,int dayOfMonth)

更新当前日期;

在Android中,TimePickerDialog用来显示时间对话框。TimePickerDialog的常用方法有以下一些:

方法名称

说明

onClick(DialogInterface dialog,int which)

响应对话框中的点击事件

is24HourView()

获取是否为24小时模式,返回boolean对象;

onTimeChanged(TimePicker view,int hourOfDay,int minute)

响应时间改变事件;

updateTime(int hourOfDay,int minuteOfHour)

更新当前时间;

1、弹出Date选择框

public void showdate(View view) {

Calendar calendar=Calendar.getInstance();

newDatePickerDialog(this, new OnDateSetListener() {

public void onDateSet(DatePicker view, int year, int month, int day){

Toast.makeText(MainActivity.this, "Thedate you pick is:"+year+"."+(month+1)+"."+day+".",0).show();

}

};

calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH),

calendar.get(Calendar.DAY_OF_MONTH)).show();

}

2、弹出Time选择框

public void showtime(View view) {

new TimePickerDialog(this, new OnTimeSetListener() {

public void onTimeSet(TimePicker view, int hour, int minute) {

Toast.makeText(MainActivity.this, "The time you pickis:"+hour+":"+minute, 0).show();

}

}, 12, 12, true).show();

}

第32讲 UI组件之 时间日期控件DatePicker和TimePicker的更多相关文章

  1. 第31讲 UI组件之 Gallery画廊控件

    第31讲 UI组件之 Gallery画廊控件 1.Gallery的简介 Gallery(画廊)是一个锁定中心条目并且拥有水平滚动列表的视图,一般用来浏览图片,并且可以响应事件显示信息.Gallery只 ...

  2. jQuery UI 日期控件--datepicker

    在web开发中,日期的输入经常会遇到.我们会用的解决方法有: 1.自己写css和js,对日期进行控制:----有点浪费精力和时间: 2.用easyui插件中的日期插件来实现: 3.用juqery-ui ...

  3. 时间日期控件的处理-Selenium

    很多人问时间日期的空间怎么处理,但是时间日期控件各种各样,你可能遇到正常点的像这样: 当然也可能遇到难点的,像这样: 当然,也不排除会遇到变态的,像这样: 呵呵,真要一个个想着怎么去选择,简直是非人类 ...

  4. mui 时间日期控件(浏览器上无法查看,在手机端可以点击)

    <head> <meta charset="utf-8"> <meta name="viewport" content=" ...

  5. mvc4中jquery-ui日期控件datepicker的应用

    mvc4中jquery-ui日期控件datepicker的应用 本文适合mvc中日期选择需要的同学: 假设读者已经具备了mvc4和javascript中的相关知识 一. 开始项目之前把项目中目录:/C ...

  6. 日期控件 DatePicker 在ie8不能用

    过个年,日期控件DatePicker在ie8下突然不能用了,程序也没升级,很是奇怪. 把ie8的“禁用脚本调试”去掉,再次运行,发现提示有脚本错误. 想着可能是兼容性问题,于是把兼容性视图打开运行,还 ...

  7. bootstrop 日期控件 datepicker被弹出框dialog覆盖的解决办法

    筒子们在使用bootstrap的日期控件(datepicker , 现在官网提供的名称叫 datetimepicker)时可能会遇到如上图的问题这是啥原因造成的呢? 答案很简单时输出的优先级造成的(z ...

  8. 日期控件datepicker的使用

    引入JS: <script type="text/javascript" src="static/my/js/bootstrap-datepicker.min.js ...

  9. bootstrap datetimepicker时间日期控件

    github地址:https://github.com/smalot/bootstrap-datetimepicker Both Date and Time picker widget based o ...

随机推荐

  1. Java基础(十)内部类

    1.使用内部类的原因(3点) ①内部类方法可以访问该内部类定义所在的作用域中的数据,包括私有数据. ②内部类可以对同一个包中的其他类隐藏起来. ③当想要定义一个回调函数且不想编写大量代码时,使用匿名内 ...

  2. Heritrix源码分析(十四)

    近段时间在搞定Lucene的一些问题,所以Heritrix源码分析暂时告一段落.今天下午在群里有同学提到了Heritrix异常终止的问题以及让Heritrix不停的抓取(就是抓完一遍后载入种子继续抓取 ...

  3. HDU 4099 Revenge of Fibonacci (数学+字典数)

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4099 这个题目就是一个坑或. 题意:给你不超过40的一串数字,问你这串数字是Fibonacci多少的开头 ...

  4. java语句与流程控制

    java程序结构按照结构化程序的思想分为顺序结构,选择结构,和循环结构. ①选择语句 选择结构分为单选择,双选择和多选择.双选择是标准的选择结构,单选择是双选择的简化形式,多选择是双选择的嵌套形式. ...

  5. DataGrid 简单数据绑定实例1

    1.默认数据显示(自动显示列) 后台绑定 //DataGrid 数据绑定 dataGridOne.ItemsSource = _Context.Info.ToList(); 前台定义 <Data ...

  6. (转)Newtonsoft.Json序列化和反序列

    这里下载:http://www.newtonsoft.com/products/json/安装:   1.解压下载文件,得到Newtonsoft.Json.dll   2.在项目中添加引用.. 序列化 ...

  7. lvm拉伸逻辑卷分区小总结

    文件系统                                      容量     已用      可用     已用% 挂载点 /dev/mapper/vg_znl-lv_root   ...

  8. Swift 字符串连接

    // 使用+直接相加 var i = var str = "Hello" str = str + " jinpangpang" // 可以使用这种方式连接整值 ...

  9. Mysql 储存过程以及 python callproc调用

    一.存储过程(stored procedure) 存储过程将存入的一系列SQL语句进行预编译,执行并存放在数据库中,之后如果需要使用sql语句对这一组sql进行访问时可以直接提取(很好理解 存储过程就 ...

  10. 面向对象重写(override)与重载(overload)区别---转载“竹木人”

    一.重写(override) override是重写(覆盖)了一个方法,以实现不同的功能.一般是用于子类在继承父类时,重写(重新实现)父类中的方法. 重写(覆盖)的规则: 1.重写方法的参数列表必须完 ...