Android 使用DatePicker以及TimePicker显示当前日期和时间
2016-04-20 16:46
981 查看
课程内容
1.介绍DatePicker和TimePicker两种实现动态输入日期和事件的功能
2.介绍DatePickerDialog和TimePickerDialog来年耕种实现动态输入日期和事件的对话框
3.介绍两组针对检测日期时间改变的监听器包含:
onDateChangedListener和OnTimeChangedListener
onDateSetListener和OnTimeSetListener
当用户更改了DatePicker里的年、月、日时,将出发OnDateCHangedListener监听器的onDateChange()事件
当用户更改了TimePicker里的时、分时,将出发OnTimeCHangedListener监听器的onTimeChanged事件
当用户更改了DatePickerDialog里的年、月、日时,将出发OnDateSetListener监听器的onDateSet()事件
当用户更改了TimePickerDialog里的时、分时,将出发OnTimeSetListener监听器的onTimeSet()事件
需求功能
默认在标题栏中展示当前日期和事件,通过监听器去获取用户选择日期或事件的结果,并将变更的日期或时间展示在标题栏上
通过setTitle()设置标题。
DatePicker实时更改年、月、日:
TimePicker实时更新时、分:
新建一个DatePickerDialog用于展示:
新建一个TimePickerDialog用于展示:
activity_main.xml
注意事项:
1.DatePicker对象以init()这个方法来指定DatePicker初始的年、月、日及OnDateCHangedListener()的事件;而TimePicker对象则是直接以setOnTimeCHangedListener()事件来处理事件改变程序要做的操作。
2.DatePickerDialog与TimePickerDialog与前面这两种类型的对象最大的差别在于DatePicker与TImePicker是直接显示在屏幕画面上,而DatePickerDialog与TimePickerDialog对象则是以弹出Dialog的方式来显示。
效果:
1.介绍DatePicker和TimePicker两种实现动态输入日期和事件的功能
2.介绍DatePickerDialog和TimePickerDialog来年耕种实现动态输入日期和事件的对话框
3.介绍两组针对检测日期时间改变的监听器包含:
onDateChangedListener和OnTimeChangedListener
onDateSetListener和OnTimeSetListener
当用户更改了DatePicker里的年、月、日时,将出发OnDateCHangedListener监听器的onDateChange()事件
当用户更改了TimePicker里的时、分时,将出发OnTimeCHangedListener监听器的onTimeChanged事件
当用户更改了DatePickerDialog里的年、月、日时,将出发OnDateSetListener监听器的onDateSet()事件
当用户更改了TimePickerDialog里的时、分时,将出发OnTimeSetListener监听器的onTimeSet()事件
需求功能
默认在标题栏中展示当前日期和事件,通过监听器去获取用户选择日期或事件的结果,并将变更的日期或时间展示在标题栏上
通过setTitle()设置标题。
DatePicker实时更改年、月、日:
datePicker = (DatePicker) findViewById(R.id.datePicker1); datePicker.init(year, month, day, new OnDateChangedListener() { @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { setTitle(String.format("%d-%02d-%02d", year, monthOfYear+1, dayOfMonth)); } });
TimePicker实时更新时、分:
timePicker = (TimePicker) findViewById(R.id.timePicker1); timePicker.setOnTimeChangedListener(new OnTimeChangedListener() { @Override public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { setTitle(String.format("%02d:%02d", hourOfDay, minute)); } });
新建一个DatePickerDialog用于展示:
new DatePickerDialog(this, new OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { setTitle(String.format("%d-%02d-%02d", year, monthOfYear+1, dayOfMonth)); } }, year, month, day).show();
新建一个TimePickerDialog用于展示:
new TimePickerDialog(this, new OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { setTitle(String.format("%02d:%02d", hourOfDay, minute)); } }, hour, minute, true).show();
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <DatePicker android:id="@+id/datePicker1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TimePicker android:id="@+id/timePicker1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
activity_main.xml
注意事项:
1.DatePicker对象以init()这个方法来指定DatePicker初始的年、月、日及OnDateCHangedListener()的事件;而TimePicker对象则是直接以setOnTimeCHangedListener()事件来处理事件改变程序要做的操作。
2.DatePickerDialog与TimePickerDialog与前面这两种类型的对象最大的差别在于DatePicker与TImePicker是直接显示在屏幕画面上,而DatePickerDialog与TimePickerDialog对象则是以弹出Dialog的方式来显示。
效果:
相关文章推荐
- android开发中常见颜色值
- android中Button和TextView的关系
- Android Design Support Library使用详解
- Android日期显示和选择库
- Android布局控件之RelativeLayout
- no lable views point to this text field with an android:lablFor=”@+id/@+id
- android警告——Buttons in button bars should be border
- ScrollView中软键盘弹出依然遮住控件
- Android 如何加载大图片
- $Android AlarmManager的用法详解
- Android 蓝牙4.0 Ble通讯问题小汇总
- Android检验应用是否获取某项权限
- tried to access method android.support.v4.net.ConnectivityManagerCompat.<init>
- Android按两次返回键退出
- Android开发-图片压缩
- 【Android基础】Android开发键盘把底部导航顶上去了解决办法
- Android Studio使用Git上传项目以及从本地Clone GitHub上的项目
- android studio is not translated in
- Android开发之Intent.Action
- android中invalidate()的自动清屏含义以及屏幕刷新