在android平台中,与时间和日期相关的组件有两个即TimePicker、DatePicker,这才来看看这两个组件的常用方法
1:TimePicker 【时间选择组件】
xml文件
<TimePicker
android:id="@+id/firstTimePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/firstTimePicker"
android:text="获取TimePicker的值"
/>
在activity中找到该组件,通过firstTimePicker.setOnTimeChangedListener来监听当时间发生变化时来取得相应的变化后的值
class TimeListener implements OnTimeChangedListener{
/**
* view:该对象代表着TimePicker
* hourOfDay:用户所选择的小时
* minute:用户所选择的分钟
*/
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
System.out.println("Hour:" + hourOfDay + ",minute:" + minute);
}
}
有时候我们可能有这样的需求,当我们的时间变化完成之后再获取最终的时间而不是每次时间变化的时候都去获取值,例如通过一个Button来获取:
class ButtonListener implements OnClickListener{
@Override
public void onClick(View v) {
//获取最终的小时
int hour = firstTimePicker.getCurrentHour();
//获取最终的分钟
int minute = firstTimePicker.getCurrentMinute();
System.out.println("h:" + hour + ",minute:" + minute);
}
}
此外可以通过firstTimePicker.setIs24HourView(true);来设置否使用24小时制显示时间
2:DatePicker【日期组件】
布局文件
<DatePicker
android:id="@+id/firstDatePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/firstDatePicker"
android:text="获取DatePicker的值"/>
Activity代码:
此处我们通过一个Button来获取用户选择之后的日期值
class ButtonListener implements OnClickListener{
@Override
public void onClick(View v) {
int y = datePicker.getYear();
int m = datePicker.getMonth(); //注意:java中月份是从0开始的
int d = datePicker.getDayOfMonth();
System.out.println("y:" + y + ",m" + m + ",d:" + d);
}
}