DatePicker控件继承自FrameLayout类,日期选择控件的主要功能是向用户提供包含年、月、日的日期数据并允许用户对其修改。
TimePicker控件继承自FrameLayout类,向用户显示一天中的时间,允许用户对其进行修改。
DatePicker控件的方法:
1.init()
初始化DatePicker日期选择控件,设置初始显示的年份、月份、日数,设置日期更改监听器。其中有一个monthOfYear参数为初始月份,实际显示的月份是此处设置的值加1。
2.OnDateChangedListener()
设置日期监听器。
3.updateDate
更新DatePicker控件,调用该方法将触发日期更改监听器。
TimePicker控件的方法:
1.setCurrentHour()
设置TimePicker显示的小时。
2.setCurrentMinute()
设置TimePicker显示的分钟。
3.setIs24HourView()
时间选择控件是否按照24小时进制显示。
4.setOnTimeChangedListener()
设置时间更改监听器。
小实例:
MainActivity.java
public class MainActivity extends Activity {
DatePicker datePicker;
TimePicker timePicker;
TextView timeStr, dateStr;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
datePicker = (DatePicker) findViewById(R.id.date);
timePicker = (TimePicker) findViewById(R.id.time);
timeStr = (TextView) findViewById(R.id.time_str);
dateStr = (TextView) findViewById(R.id.date_str);
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int monthOfYear = calendar.get(Calendar.MONTH);
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
datePicker.init(year, monthOfYear, dayOfMonth, new OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker arg0, int year, int monthOfYear,
int dayOfMonth) {
dateStr.setText(year + "年"+(monthOfYear+1)+"月"+dayOfMonth+"日");
}
});
timePicker.setOnTimeChangedListener(new OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker arg0, int hour, int minuter) {
timeStr.setText(hour+"时"+minuter+"分");
}
});
}
}
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="${relativePackage}.${activityClass}" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:orientation="horizontal"
android:layout_weight="1" >
<TextView
android:id="@+id/date_str"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
<TextView
android:id="@+id/time_str"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>
<DatePicker
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="3" />
<TimePicker
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="3" />
</LinearLayout>
效果图: