Android开发之日期、时间选择器(DatePicker和TimePicker)的功能和用法
日期、时间选择器(DatePicker和TimePicker)的功能和用法
DatePicker和TimePicker是两个比较常用的控件,它们都从FrameLayout派生而来,其中DatePicker用于选择日期、TimePicker用于选择时间。
DatePicker和TimePicker在FrameLayout的基础上提供了一些方法来获取当前用户所选择的日期、时间;开发者可以通过为DatePicker添加OnDateChangedListener、为TimePicker添加OnTimeChangedListener监听器进行监听来获取用户选择的日期和时间。
DatePicker(日期选择器)
结构:
<pre name="code" class="html">java.lang.Object↳ android.view.View↳ android.view.ViewGroup↳ android.widget.FrameLayout↳ android.widget.DatePicker
概述:
一个选择年月日的日历布局视图,对于对话框视图,参见 DatePickerDialog.
公共方法:
Public Methods |
|||||||||||
int |
getDayOfMonth() 获取选择的天数 |
||||||||||
int |
getMonth() 获取选择的月份 |
||||||||||
int |
getYear() 获取选择的年份 |
||||||||||
void |
init(int year, int monthOfYear, int dayOfMonth, DatePicker.OnDateChangedListener onDateChangedListener) 初始化年月日 |
||||||||||
void |
setEnabled(boolean enabled) 设置视图的启用状态 |
||||||||||
void |
updateDate(int year, int monthOfYear, int dayOfMonth) 更新日期 |
DatePicker支持的XML属性:
XML属性 |
说明 |
android:calendarViewShown |
设置该日期选择器是否显示ClendarView组件 |
android:endYear |
设置该日期选择器允许选择的最后一年 |
android:startYear |
设置该日期选择器允许选择的第一一年 |
android:maxDate |
设置该日期选择器允许选择的最大日期。以mm/dd/yyyy格式指定最大日期 |
android:minDate |
设置该日期选择器允许选择的最小日期。以mm/dd/yyyy格式指定最小日期 |
android:spinnersShown |
设置该日期选择器是否显示Spinner日期选择组件 |
TimePicker(时间选择器)
结构:
<pre name="code" class="html">ava.lang.Object↳ android.view.View↳ android.view.ViewGroup↳ android.widget.FrameLayout↳ android.widget.TimePicker
概述:
用于选择一天中时间的视图,支持 24小时及上午/下午模式。小时,分钟及上午/下午(如果可用)都可以用垂直滚动条来控制。用键盘来输入小时。两个数的小时数可以通过输入两个数字来实现,例如在一定时间内输入‘1’和‘2’即选择了12点。分钟能显示输入的单个数字。在AM/PM模式下,用户可以输入'a', 'A"或 'p', 'P'来选取。对于对话框视图,参见TimePickerDialog。
公共方法:
Public Methods |
|||||||||||
int |
getBaseline() 返回窗口空间的文本基准线到其顶边界的偏移量。如果这个部件不支持基准线对齐, 这个方法返回-1/。 |
||||||||||
Integer |
getCurrentHour() 获取当前时间的小时部分。 返回值当前小时(0-23) |
||||||||||
Integer |
getCurrentMinute() 获取当前时间的分钟部分 |
||||||||||
boolean |
is24HourView() 获取当前系统设置是否是24小时制。 如果是24小时制返回true,否则返回false。 |
||||||||||
void |
setCurrentHour(Integer currentHour) 设置当前小时 |
||||||||||
void |
setCurrentMinute(Integer currentMinute) 设置当前分钟(0-59) |
||||||||||
void |
setEnabled(boolean enabled) 设置可用的视图状态。可用的视图状态的解释在子类中改变。 |
||||||||||
void |
setIs24HourView(Boolean is24HourView) 设置是24小时还是上午/下午制 |
||||||||||
void |
setOnTimeChangedListener(TimePicker.OnTimeChangedListener onTimeChangedListener) 设置时间调整事件的回调函数。 |
应用实例
运行效果图:
程序代码:
package com.jph.choosedae;import java.util.Calendar;
import android.app.Activity;
import android.os.Bundle;
import android.widget.DatePicker;
import android.widget.DatePicker.OnDateChangedListener;
import android.widget.EditText;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;
import android.widget.Toast;/*** Description:* <br/>选择日期时间* <br/>本实例通过DatePicker(时间选择器)和* <br/>TimePicker(日期选择器)来提供用户选择日期和时间* <br/>为了获取选择的日期程序为DatePicker注册了OnDateChangedListener* <br/>监听器,为了获取选择的时间程序为TimePicker注册OnTimeChangedListener* <br/>监听器* @author jph* Date:2014.20.57*/
public class ChooseDate extends Activity
{// 定义5个记录当前时间的变量private int year;private int month;private int day;private int hour;private int minute;@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);DatePicker datePicker = (DatePicker)findViewById(R.id.datePicker);TimePicker timePicker = (TimePicker) findViewById(R.id.timePicker);// 获取当前的年、月、日、小时、分钟Calendar c = Calendar.getInstance();year = c.get(Calendar.YEAR);month = c.get(Calendar.MONTH);day = c.get(Calendar.DAY_OF_MONTH);hour = c.get(Calendar.HOUR);minute = c.get(Calendar.MINUTE);// 初始化DatePicker组件,初始化时指定监听器datePicker.init(year, month, day, new OnDateChangedListener(){@Overridepublic void onDateChanged(DatePicker arg0, int year, int month, int day){ChooseDate.this.year = year;ChooseDate.this.month = month;ChooseDate.this.day = day;// 显示当前日期、时间showDate(year, month, day, hour, minute);Toast.makeText(ChooseDate.this,"您选择的日期:"+year+"年 "+month+"月 "+day+"日", Toast.LENGTH_SHORT).show();}});// 为TimePicker指定监听器timePicker.setOnTimeChangedListener(new OnTimeChangedListener(){@Overridepublic void onTimeChanged(TimePicker view, int hourOfDay, int minute){ChooseDate.this.hour = hourOfDay;ChooseDate.this.minute = minute;// 显示当前日期、时间showDate(year, month, day, hour, minute);Toast.makeText(ChooseDate.this,"您选择的时间:"+hourOfDay+"时 "+minute+"分", Toast.LENGTH_SHORT).show();
// }});}// 定义在EditText中显示当前日期、时间的方法private void showDate(int year, int month, int day, int hour, int minute){EditText show = (EditText) findViewById(R.id.show);show.setText("您选择的日期和时间为:" + year + "年" + (month + 1) + "月" + day + "日 "+ hour + "时" + minute + "分");}
}
xml布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><!-- 显示用户输入日期、时间的控件 -->
<EditText android:id="@+id/show"android:layout_width="fill_parent" android:layout_height="wrap_content"android:editable="false"android:cursorVisible="false"/>
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="请选择日期和时间"/>
<!-- 定义一个DatePicker组件 -->
<DatePicker android:id="@+id/datePicker"android:layout_width="wrap_content" android:layout_height="200dp"android:layout_gravity="center_horizontal"android:startYear="2000"android:endYear="2050"android:calendarViewShown="true"android:spinnersShown="true"/>
<!-- 定义一个TimePicker组件 -->
<TimePicker android:id="@+id/timePicker"android:layout_width="wrap_content" android:layout_height="100dp"android:layout_gravity="center_horizontal"/>
</LinearLayout>
Android开发之日期、时间选择器(DatePicker和TimePicker)的功能和用法相关推荐
- Android中实现日期时间选择器(DatePicker和TimePicker)
利用Android应用框架提供的DatePicker(日期选择器)和TimePicker(时间选择器),实现日期时间选择器. Dialog的Content布局文件(date_time_dialog.x ...
- android edittext获取 time值,在Android EditText中实现日期时间选择器(DatePicker和TimePicker)...
利用Android应用框架提供的DatePicker(日期选择器)和TimePicker(时间选择器),实现日期时间选择器. Dialog的Content布局文件(date_time_dialog.x ...
- Android开发之日期时间控件选择
Android开发之日期时间控件选择 文章目录 前言 一.创建弹出Layout 1.1 新建Layout,修改样式为LinearLayout 1.2 Layout中添加日期和时间控件 二.新建Date ...
- 日期时间选择器 DatePicker
日期时间选择器 DatePicker 一款高颜值.多场景的日期时间选择器,提供自定义颜色/格式/文案等. 该插件采用scss编译,如遇到样式/层级问题可以到源码修改. 如果对您有帮助,可以评论或赞赏一 ...
- android仿iphone日期时间选择器,Android仿iPhone日期时间选择器详解
本文实例为大家分享了Android仿iPhone时间选择器的具体代码,供大家参考,具体内容如下 先看效果图 如何使用 import java.text.DateFormat; import java. ...
- android日期选择区间控件_Android日期时间选择器实现以及自定义大小
本文主要讲两个内容:1.如何将DatePicker和TimePicker放在一个dialog里面:2.改变他们的宽度: 问题1:其实现思路就是自定义一个Dialog,然后往里面同时放入DatePick ...
- 选择对话框 android_Android日期时间选择器对话框
选择对话框 android Android Date Time picker are used a lot in android apps. In this tutorial we'll demons ...
- DateTimePicker 日期时间选择器报错 Cannot read property ‘getHours‘ of undefined, 无法选中`[__ob_: observer__]`时做判断
我在一次开发中遇到了这个情况:使用DateTimePicker 日期时间选择器,出现无法选中, 报错 Cannot read property 'getHours' of undefined, 这个原 ...
- vue 日期时间选择器_Vue日期时间选择器
vue 日期时间选择器 Vue日期时间选择器 (Vue Datetime picker) Vue Datetime picker BY Vladyslav Shchepotin. Vue日期时间选择器 ...
- 关于Element UI中日期时间选择器在IE浏览器中初始化显示的兼容性问题
一.简单说明 项目使用Vue+Element UI进行开发,使用了 DateTimePicker 日期时间选择器. 二.问题描述 打开修改对话框(进行选择日期操作可以正常显示),在谷歌浏览器中初始化时 ...
最新文章
- C/C++面试题分享
- c语言输入函数有什么作用,c语言的输入函数有哪些
- 为什么要假设变量为正态分布?
- 系统制成docker镜像_Docker学习以及镜像制作流程
- 操作系统(二)操作系统的四个特征
- matlab充分利用性能,Matlab高性能编程——代码优化和并行计算
- camel route 创建顺序
- 华为c语言编程规范_C语言编程规范
- 双十一清醒指南,送3本Python书
- 实验三:从整理上理解进程创建、可执行文件的加载和进程执行进程切换,重点理解分析fork、execve和进程切换...
- Linux 重启oracle数据库
- FlashFXP连接虚拟机ubuntu 16.04
- 智能机器人建房子后房价走势_机器人建楼、5G住宅……房地产下半场要这样玩...
- html表单有几部分组成,网页制作时表单由哪两部分组成
- mysql workbench 备份数据库
- ASP.NET压力测试
- VScode插件管理(C/C++)
- 将两张图片合并成一张图片
- 【中级计量经济学】Lecture 2 多重共线性
- HTML(hiden控件 readonly disabled)(maxlength属性)(id属性重点)