歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android SDK Tutorials系列 - Hello Views - Time Picker

Android SDK Tutorials系列 - Hello Views - Time Picker

日期:2017/3/1 11:03:09   编辑:Linux編程

Time Picker

可以用TimePicker窗口小部件來選擇時間,這個小部件允許用戶選擇小時和分鐘。

本教程裡,點擊界面上的按鈕,將彈出一個浮動的時間選擇器對話框TimePickerDialog。當用戶設置時間後,TextView將顯示剛設的時間。

創建一個公車:HelloTimePicker.

打開res/layout/main.xml 並修改如下:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:Android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="wrap_content"
  4. android:layout_height="wrap_content"
  5. android:orientation="vertical">
  6. <TextView android:id="@+id/timeDisplay"
  7. android:layout_width="wrap_content"
  8. android:layout_height="wrap_content"
  9. android:text=""/>
  10. <Button android:id="@+id/pickTime"
  11. android:layout_width="wrap_content"
  12. android:layout_height="wrap_content"
  13. android:text="Change the time"/>
  14. </LinearLayout>

這是一個基本的LinearLayout布局,裡面的TextView顯示時間,點擊Button則打開TimePickerDialog時間選擇器對話框。

打開HelloTimePicker.java 並添加下列成員變量:

  1. private TextView mTimeDisplay;
  2. private Button mPickTime;
  3. private int mHour;
  4. private int mMinute;
  5. static final int TIME_DIALOG_ID = 0;

這些成員變量是布局元素、時分。TIME_DIALOG_ID 是靜態整型值,作為時間選擇器對話框的ID。

修改onCreate() 如下:

  1. @Override
  2. protected void onCreate(Bundle savedInstanceState) {
  3. super.onCreate(savedInstanceState);
  4. setContentView(R.layout.main);
  5. // capture our View elements
  6. mTimeDisplay = (TextView) findViewById(R.id.timeDisplay);
  7. mPickTime = (Button) findViewById(R.id.pickTime);
  8. // add a click listener to the button
  9. mPickTime.setOnClickListener(new View.OnClickListener() {
  10. public void onClick(View v) {
  11. showDialog(TIME_DIALOG_ID);
  12. }
  13. });
  14. // get the current time
  15. final Calendar c = Calendar.getInstance();
  16. mHour = c.get(Calendar.HOUR_OF_DAY);
  17. mMinute = c.get(Calendar.MINUTE);
  18. // display the current date
  19. updateDisplay();
  20. }

首先,加載main.xml布局文件,然後調用findViewById(int)來獲得對TextView和Button的引用,接著給Button添加一個點擊事件監聽器View.OnClickListener,因此當點擊Button後,回調函數showDialog(int)(參數是對話框ID)將被調用來顯示時間選擇器對話框。

showDialog(int)方法讓當前Activity管理對話框的生命周期,同時調用onCreateDialog(int) 回調函數顯示對話框。

在設置點擊事件監聽器以後,創建一個Calendar對象,讀取當前小時、分鐘。最後,調用updateDisplay() 方法,讓TextView顯示當前時間。

Copyright © Linux教程網 All Rights Reserved