日期 時間選擇器(DatePicker和TimePicker)實現用戶選擇

日期和時間

做者的設計TimePicker時,大小分佈不合理,我調整寬度爲match-parent高度爲wrap-parent就能夠了。android

  1. public class MainActivity extends Activity
  2. {
  3. // 定義5個記錄當前時間的變量
  4. private int year;
  5. private int month;
  6. private int day;
  7. private int hour;
  8. private int minute;
  9. @Override
  10. public void onCreate(Bundle savedInstanceState)
  11. {
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.main);
  14. DatePicker datePicker = (DatePicker)findViewById(R.id.datePicker);
  15. TimePicker timePicker = (TimePicker)findViewById(R.id.timePicker);
  16. // 獲取當前的年、月、日、小時、分鐘
  17. Calendar c = Calendar.getInstance();
  18. year = c.get(Calendar.YEAR);
  19. month = c.get(Calendar.MONTH);
  20. day = c.get(Calendar.DAY_OF_MONTH);
  21. hour = c.get(Calendar.HOUR);
  22. minute = c.get(Calendar.MINUTE);
  23. // 初始化DatePicker組件,初始化時指定監聽器
  24. datePicker.init(year, month, day, new OnDateChangedListener()
  25. {
  26. @Override
  27. public void onDateChanged(DatePicker arg0, int year
  28. , int month, int day)
  29. {
  30. MainActivity.this.year = year;
  31. MainActivity.this.month = month;
  32. MainActivity.this.day = day;
  33. // 顯示當前日期、時間
  34. showDate(year, month, day, hour, minute);
  35. }
  36. });
  37. timePicker.setEnabled(true);
  38. // TimePicker指定監聽器
  39. timePicker.setOnTimeChangedListener(new OnTimeChangedListener()
  40. {
  41. @Override
  42. public void onTimeChanged(TimePicker view
  43. , int hourOfDay, int minute)
  44. {
  45. MainActivity.this.hour = hourOfDay;
  46. MainActivity.this.minute = minute;
  47. // 顯示當前日期、時間
  48. showDate(year, month, day, hour, minute);
  49. }
  50. });
  51. }
  52. // 定義在EditText中顯示當前日期、時間的方法
  53. private void showDate(int year, int month
  54. , int day, int hour, int minute)
  55. {
  56. EditText show = (EditText) findViewById(R.id.show);
  57. show.setText("您的購買日期爲:" + year + ""
  58. + (month + 1) + "" + day + " " + hour + "" + minute + "");
  59. }
  60. }

 

XML文件ide

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="match_parent"
  5. android:layout_height="match_parent">
  6. <TextView
  7. android:layout_width="match_parent"
  8. android:layout_height="wrap_content"
  9. android:text="選擇購買本書的具體時間"/>
  10. <!-- 定義一個DatePicker組件 -->
  11. <DatePicker android:id="@+id/datePicker"
  12. android:layout_width="wrap_content"
  13. android:layout_height="200dp"
  14. android:layout_gravity="center_horizontal"
  15. android:startYear="2000"
  16. android:endYear="2016"
  17. android:calendarViewShown="true"
  18. android:spinnersShown="true"/>
  19. <!-- 定義一個TimePicker組件 -->
  20. <TimePicker android:id="@+id/timePicker"
  21. android:layout_width="match_parent"
  22. android:layout_height="wrap_content"
  23. android:layout_gravity="center_horizontal"/>
  24. <!-- 顯示用戶輸入日期、時間的控件 -->
  25. <EditText android:id="@+id/show"
  26. android:layout_width="match_parent"
  27. android:layout_height="wrap_content"
  28. android:editable="false"
  29. android:cursorVisible="false"/>
  30. </LinearLayout>

 

效果this

相關文章
相關標籤/搜索