2010-11-23 58 views
5

如何在Android中創建日期和時間設置對話框?我想:Android中的日期和時間設置對話框

  • 3場 - 天,小時和分鐘
  • 它應該原產於系統 - 這使得寫我自己的小部件很困難 - 如何使加/減按鈕以上/每場下方看起來像TimePickerDialog中的標準按鈕?我的意思是即使在HTC Sense上。

回答

15

創建用於顯示日期和時間以及觸發日期和時間對話框的按鈕。

示例代碼:

fromDatePicker = (Button) findViewById(R.id.fromDatePicker); 
    fromDatePicker.setText(dateNow); 
    fromDatePicker.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      showDialog(FROM_DATE_DIALOG_ID); 
     } 
    }); 

    fromTimePicker = (Button) findViewById(R.id.fromTimePicker); 
    fromTimePicker.setText(timeNow); 
    fromTimePicker.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      showDialog(FROM_TIME_DIALOG_ID); 
     } 
    }); 

這樣創建您的對話框:

@Override 
protected Dialog onCreateDialog(int id) { 
    switch (id) { 
     case FROM_TIME_DIALOG_ID: 
      return new TimePickerDialog(this,fromTimeSetListener, fromHour, fromMinute, false); 
     case FROM_DATE_DIALOG_ID: 
      return new DatePickerDialog(this,fromDateSetListener,fromYear, fromMonth, fromDay); 
     case TO_TIME_DIALOG_ID: 
      return new TimePickerDialog(this,toTimeSetListener, toHour, toMinute, false); 
     case TO_DATE_DIALOG_ID: 
      return new DatePickerDialog(this,toDateSetListener,toYear, toMonth, toDay);     
    } 
    return null; 
} 

你的屏幕看起來就像這樣:

alt text

點擊日期按鈕時,一datepicker會彈出看起來像這樣:

alt text

在單擊時按鈕,timepicker會彈出這樣看:

alt text

Android不提供組合的DateTimePicker對話框開箱即用。如果你想要在1個屏幕或對話框上組合日期和時間選擇器,您有3個選項:

使用佈局/視圖中的UI小部件:

<TimePicker 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

<DatePicker 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

找到一個第三方組件提供此功能

有在http://code.google.com/p/datetimepicker

寫一個自己

+1

由於自定義的DateTimePicker但是這就是我現在所做的,我想只有一個對話框。 – fhucho 2010-11-23 23:36:56

相關問題