歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android SDK Tutorials系列 - Hello Views - Time Picker

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.   
  4. private int mHour;  
  5. private int mMinute;  
  6.   
  7. 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.   
  6.     // capture our View elements   
  7.     mTimeDisplay = (TextView) findViewById(R.id.timeDisplay);  
  8.     mPickTime = (Button) findViewById(R.id.pickTime);  
  9.   
  10.     // add a click listener to the button   
  11.     mPickTime.setOnClickListener(new View.OnClickListener() {  
  12.         public void onClick(View v) {  
  13.             showDialog(TIME_DIALOG_ID);  
  14.         }  
  15.     });  
  16.   
  17.     // get the current time   
  18.     final Calendar c = Calendar.getInstance();  
  19.     mHour = c.get(Calendar.HOUR_OF_DAY);  
  20.     mMinute = c.get(Calendar.MINUTE);  
  21.   
  22.     // display the current date   
  23.     updateDisplay();  
  24. }  

首先,加載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