2014-08-03 22:19:21|?次阅读|上传:huigezrx【已有?条评论】发表评论
关键词:Java, Android, 界面设计, 移动应用|来源:唯设编程网
这一篇文章继续介绍Android平台下关于日期和时间的两个相关控件:DatePicker(日期选择控件)、TimePicker(时间选择控件)。DatePicker、TimePicker都继承自android.widget.FrameLayout,并且默认展示风格与操作风格也类似。DatePicker用于展示一个日期选择控件,TimePicker用于展示一个时间选择控件。
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)
TimePicker是一个时间选择控件,TimePicker需要与时间相关的getter、setter方法之外,还需要实现对应的时间控件值变化时对应的监听器。
TimePicker常用方法有如下几个:
is24HourView():判断是否为24小时制。
setIs24HourView():设置是否为24小时制显示。
getCurrentXxx():获取当前时间。
setCurrentXxx():设置当前时间。
setOnTimeChangedListener():设置时间被修改的回调方法。
TimePicker控件值被修改对应的监听器,通过setOnTimeChangedListener()方法设置,其传递一个TimePicker.OnTimeChangedListener监听器,在其中需要实现onTimeChanged()方法。
下面通过一个示例来讲解这两个控件的使用,在示例中分别展示了这两个控件,并在其修改之后,把修改值通过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>
对应的布局效果如下: