Android开发DatePicker和TimePicker控件的用法

2014-08-03 22:19:21|?次阅读|上传:huigezrx【已有?条评论】发表评论

关键词:Java, Android, 界面设计, 移动应用|来源:唯设编程网

这一篇文章继续介绍Android平台下关于日期和时间的两个相关控件:DatePicker(日期选择控件)、TimePicker(时间选择控件)。DatePicker、TimePicker都继承自android.widget.FrameLayout,并且默认展示风格与操作风格也类似。DatePicker用于展示一个日期选择控件,TimePicker用于展示一个时间选择控件。

1. DatePicker

  DatePicker是一个日期选择控件,它可以通过设置属性来确定日期选择范围,也可以通过控件提供的方法获取到当前选中的日期,可以添加监听器实现在修改日期的时候对其进行响应。

1). DatePicker常用相关属性:

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

2). DatePicker相关方法

  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)

2. TimePicker

  TimePicker是一个时间选择控件,TimePicker需要与时间相关的getter、setter方法之外,还需要实现对应的时间控件值变化时对应的监听器。

  TimePicker常用方法有如下几个:

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

  TimePicker控件值被修改对应的监听器,通过setOnTimeChangedListener()方法设置,其传递一个TimePicker.OnTimeChangedListener监听器,在其中需要实现onTimeChanged()方法。

3. 使用实例

下面通过一个示例来讲解这两个控件的使用,在示例中分别展示了这两个控件,并在其修改之后,把修改值通过Toast的方式展示到屏幕上。

首先是对应的布局XML代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <DatePicker
        android:id="@+id/dpPicker"
        android:calendarViewShown="false"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <TimePicker
        android:id="@+id/tpPicker"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

对应的布局效果如下:

Android开发DatePicker和TimePicker控件的用法

<12>
发表评论0条 】
网友评论(共?条评论)..
Android开发DatePicker和TimePicker控件的用法