关于日期和时间的几个相关控件,包括DatePicker(日期选择控件)、TimePicker(时间选择控件)、DatePickerDialog(日期选择对话框)、TimePickerDialog(时间选择对话框)、AnalogClock(模拟时钟控件)、DigitalClock(数字时钟控件)。

 DatePicker 、 TimePicker 都继承自android.widget.FrameLayout,并且默认展示风格、与操作风格也类似。DatePicker用于展示一个日期选择控件,TimePicker用于展示一个时间选择控件。

 作为一个日期选择控件,DatePicker可以通过设置属性来确定日期选择范围,也可以通过定义好的方法获取到当前选中的时间,并且在修改日期的时候,有响应的事件对其进行响应。

 DatePicker常用相关属性:

  • android:calendarViewShown:是否显示日历。
  • android:startYear:设置可选开始年份。
  • android:endYear:设置可选结束年份。
  • android:maxDate:设置可选最大日期,以mm/dd/yyyy格式设置。
  • android:minDate:设置可选最小日期,以mm/dd/yyyy格式设置。

 DatePicker的方法而言,除了常用获取属性的setter、getter方法之外,还需要特别注意一个初始化的方法init()方法,用于做DatePicker控件的初始化,并且设置日期被修改后,回调的响应事件。此方法的签名如下:

 init(int year, int monthOfYear, int dayOfMonth, DatePicker.OnDateChangedListener onDateChangedListener)

 从上面的init()方法可以看到,DatePicker被修改时响应的事件是DatePicker.OnDateChangedListener 事件,如果要响应此事件,需要实现其中的onDateChanged()方法,其中参数从签名即可了解意思,这里不再累述。

 onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth)

 作为一个时间选择控件来说,TimePicker需要与时间相关的getter、setter方法之外,还需要有时间被修改够,回调的响应事件。

 TimePicker常用方法有如下几个:

  • is24HourView():判断是否为24小时制。
  • setIs24HourView():设置是否为24小时制显示。
  • getCurrentXxx():获取当前时间。
  • setCurrentXxx():设置当前时间。
  • setOnTimeChangedListener():设置时间被修改的回调方法。

TimePicker控件被修改的回调方法,通过setOnTimeChangedListener()方法设置,其传递一个 TimePicker.OnTimeChangedListener 接口,需要实现其中的onTimeChanged()方法。


问题1:其实现思路就是自定义一个Dialog,然后往里面同时放入DatePicker和TimePicker,直接贴代码: 
date_time_picker.xml: 

Xml代码  
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:layout_width="wrap_content"  
  4.     android:layout_height="wrap_content"  
  5.     android:gravity="center"  
  6.     android:orientation="horizontal" >  
  7.   
  8.     

    更多相关文章

    1. Android中使用代码截图的各种方法总结
    2. Andoid自动判断输入是电话,网址或者Email的方法--Linkify
    3. Android——使用TabLayout+ViewPager实现顶部导航栏
    4. android顶部控件被输入法顶上去的解决办法
    5. Android开发错误:Error:” ” is not translated in “en” (Engl
    6. ListViewAnimations 源码浅析
    7. Android控件系列(未完待续)
    8. Android之getSystemService方法实现详解
    9. xxx is not translated in yyy, zzz 的解决方法

    随机推荐

    1. logging in android
    2. color.xml中各种颜色值整理
    3. openjdk8的安装
    4. android.view.inputmethod
    5. ParallaxScrollView有视差的ScrollView
    6. Android(安卓)开源库汇总
    7. Android(安卓)深入研究JNI详解
    8. AndroidStudio,Colors.xml颜色表,配中文注
    9. android.content
    10. 二级购物车完整版