android日历和时间选择器 普通选择和dialog显示选择
16lz
2021-01-23
效果展示:
一:目录结构
二:src源文件
MainActivity.java文件:
package com.peng.testdate;import java.util.Calendar;import android.media.audiofx.Visualizer.OnDataCaptureListener;import android.os.Bundle;import android.widget.DatePicker;import android.widget.DatePicker.OnDateChangedListener;import android.widget.TimePicker;import android.widget.TimePicker.OnTimeChangedListener;import android.app.Activity;import android.app.DatePickerDialog;import android.app.DatePickerDialog.OnDateSetListener;import android.app.TimePickerDialog;import android.app.TimePickerDialog.OnTimeSetListener;/* * 日历和时间练习 */public class MainActivity extends Activity implements OnTimeChangedListener {// 声明控件private DatePicker datePicker;private TimePicker timePicker;// 声明数据private int year;private int month;private int day;private int hour;private int minutes;// 日历private Calendar calendar;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initViews();// 初始化控件// 通过Calendar类获取系统当前的时间calendar = Calendar.getInstance();year = calendar.get(Calendar.YEAR);month = calendar.get(Calendar.MONTH) + 1;// 注意这里获取到的月份比现实中少一day = calendar.get(Calendar.DAY_OF_MONTH);// 注意参数:获取的是当前月的具体哪一天hour = calendar.get(Calendar.HOUR_OF_DAY);// 注意参数:获取当天具体的hourminutes = calendar.get(Calendar.MINUTE);// 为控件添加监听事件setViewsAdapter();// 初始化datePickerinitViews_DatePicker();/**/// 对话框形式的datePicker---(测试的时候把注释去掉,与getTimePicker_Dialog().show()不要同时去掉注释)// getDatePicker_Dialog().show();// 对话框行驶的timePicker---(测试的时候把注释去掉,与getDatePicker_Dialog().show()不要同时去掉注释)// getTimePicker_Dialog().show();/**/}// 初始化控件private void initViews() {datePicker = (DatePicker) findViewById(R.id.datePicker1);timePicker = (TimePicker) findViewById(R.id.timePicker1);}// 初始化控件--DatePicker比较特殊,init中的参数添加监听事件private void initViews_DatePicker() {// 初始化datePicker(注意第二个参数传入的是没有进行+1操作的Month值)datePicker.init(year, calendar.get(Calendar.MONTH), day,new OnDateChangedListener() {@Overridepublic void onDateChanged(DatePicker view, int year,int monthOfYear, int dayOfMonth) {MainActivity.this.setTitle(year + "年 "+ (monthOfYear + 1) + "月 " + dayOfMonth + "日");}});}// 为控件添加监听事件private void setViewsAdapter() {timePicker.setOnTimeChangedListener(this);}// timePicker的监听事件@Overridepublic void onTimeChanged(TimePicker view, int hourOfDay, int minute) {MainActivity.this.setTitle("修改后的时间:" + hourOfDay + "时 " + minute + "分");}// 对话框形式的datePickerprivate DatePickerDialog getDatePicker_Dialog() {DatePickerDialog dpd = new DatePickerDialog(MainActivity.this,new OnDateSetListener() {@Overridepublic void onDateSet(DatePicker view, int year,int monthOfYear, int dayOfMonth) {MainActivity.this.setTitle(year + "年 "+ (monthOfYear + 1) + "月 " + dayOfMonth + "日");}}, year, month - 1, day);return dpd;}// 对话框形式的timePickerprivate TimePickerDialog getTimePicker_Dialog() {TimePickerDialog tpd = new TimePickerDialog(MainActivity.this,new OnTimeSetListener() {@Overridepublic void onTimeSet(TimePicker view, int hourOfDay,int minute) {MainActivity.this.setTitle("修改后的时间:" + hourOfDay + "时 "+ minute + "分");}}, hour, minutes, true);return tpd;}}
layout_main.xml文件:
三:注意事项
Calendar获取系统当前日期:测试dialog显示时:
DatePicker初始化函数及其参数形式内置监听:
TimePickerDialog函数参数:
更多相关文章
- android 如何获取当前时间
- Android修改语言设置--项目需求需要修改在应用中修改系统时间
- android timepicker 设置时间间隔
- android之获取系统时间并作为文件名
- Android自定义view七时间轴(二)---横向的图表时间轴
- android中的类加载和静态成员变量的初始化
- Android TimePickerDialog(原生安卓时间选择器)
- Android 时间倒计时
- Android应用程序设置系统时间的方法