datepicket和timepicket纳本,日期腋颠、時間選擇器的功能和用法
兩者都是從framelayout派生來的,datepicket供用戶選擇日期淑玫,timepicket供用戶選擇時間
datapicket通過ondatechangedlistener進行監(jiān)聽面睛,timepicket通過添加ontimerchangedlistener進行監(jiān)聽
public class MainActivity extends Activity {
//? ? 定義5個記錄當前時間的變量
? ? private? int year;
? ? private? int month;
? ? private? int day;
? ? private? int hour;
? ? private int minute;
? ? @Override
? ? protected void onCreate(@Nullable Bundle savedInstanceState) {
? ? ? ? super.onCreate(savedInstanceState);
? ? ? ? setContentView(R.layout.picket);;
? ? ? ? DatePicker dp=findViewById(R.id.datapicket);
? ? ? ? TimePicker tp=findViewById(R.id.timepicker);
? ? ? ? //獲取當前的年月日小時分鐘
? ? ? ? Calendar ca=Calendar.getInstance();
? ? ? ? year=ca.get(Calendar.YEAR);
? ? ? ? month=ca.get(Calendar.MONTH);
? ? ? ? day=ca.get(Calendar.DATE);
? ? ? ? hour=ca.get(Calendar.HOUR);
? ? ? ? //初始化DATApicker組件尊搬,初始化時指定監(jiān)聽器
? ? ? ? dp.init(year, month, day, new DatePicker.OnDateChangedListener() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void onDateChanged(DatePicker view, int year, int month, int day) {
? ? ? ? ? ? ? ? MainActivity.this.year=year;
? ? ? ? ? ? ? ? MainActivity.this.month=month;
? ? ? ? ? ? ? ? MainActivity.this.day=day;
? ? ? ? ? ? ? ? //顯示當前日期時間
? ? ? ? ? ? ? ? showDate(year,month,day,hour,minute);
? ? ? ? ? ? }
? ? ? ? });
? ? ? ? //為timepicker指定監(jiān)聽器
? ? ? ? tp.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
? ? ? ? ? ? ? ? MainActivity.this.hour=hourOfDay;
? ? ? ? ? ? ? ? MainActivity.this.minute=minute;
? ? ? ? ? ? ? ? //顯示當前日期時間
? ? ? ? ? ? ? ? showDate(year,month,day,hour,minute);
? ? ? ? ? ? }
? ? ? ? });
? ? }
? ? private void showDate(int year,int month,int day ,int hour,int minute) {
? ? ? ? EditText et=findViewById(R.id.show);
? ? ? ? et.setText("現(xiàn)在的日期是:"+year+"年"+month+"月"+day+"日"+hour+"時"+minute+"分,是好運的開始");
? ? }
}
<?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">
? ? <TextView
? ? ? ? android:layout_width="match_parent"
? ? ? ? android:layout_height="wrap_content"
android:text="選擇時間"/>
? ? <!--定義一個datapicket組件-->
? ? <DatePicker
? ? ? ? android:layout_width="wrap_content"
? ? ? ? android:layout_height="300dp"
? ? ? ? android:id="@+id/datapicket"
? ? ? ? android:layout_gravity="center_horizontal"
? ? ? ? android:startYear="2000"
? ? ? ? android:endYear="2024"
? ? ? ? android:calendarViewShown="true"
? ? ? ? android:spinnersShown="true"/>
<!--定義一個timepicket組件-->
? ? <TimePicker
? ? ? ? android:layout_width="wrap_content"
? ? ? ? android:layout_height="300dp"
? ? ? ? android:layout_gravity="center_horizontal"
? ? ? ? android:id="@+id/timepicker"/>
? ? <!--顯示用戶輸入日期時間的控件-->
? ? <EditText
? ? ? ? android:layout_width="match_parent"
? ? ? ? android:layout_height="wrap_content"
? ? ? ? android:editable="false"
? ? ? ? android:cursorVisible="false"
? ? ? ? android:id="@+id/show"/>
</LinearLayout>