安卓開發_淺談TimePicker(時間選擇器)


TimePicker也繼承自FrameLayout類。時間選擇控件向用戶顯示一天中的時間(可以為24小時,也可以為AM/PM制),並允許用戶進行選擇。如果要捕獲用戶修改時間數據的事件,便需要為TimePicker添加OnTimeChangedListener監聽器

一、方法

  public int getBaseline ()

         返回窗口空間的文本基准線到其頂邊界的偏移量。如果這個部件不支持基准線對齊,這個方法返回-1/。

                   返回值

  基准線的偏移量,如果不支持基准線對齊則返回-1。

 

         public Integer getCurrentHour ()

         獲取當前時間的小時部分。

                   返回值

                            當前小時(0-23)

 

         public Integer getCurrentMinute ()

         獲取當前時間的分鍾部分。

                   返回值

                            當前分鍾。

 

         public boolean is24HourView ()

         獲取當前系統設置是否是24小時制。

                   返回值

                            如果是24小時制返回true,否則返回false。

 

         public void setCurrentHour (Integer currentHour)

      設置當前小時。

 

         public void setCurrentMinute (Integer currentMinute)

         設置當前分鍾(0-59)。

 

         public void setEnabled (boolean enabled)

      設置可用的視圖狀態。可用的視圖狀態的解釋在子類中改變。

                   參數

                            enabled 如果可用為true,否則為false。

 

         public void setIs24HourView (Boolean is24HourView)

      設置是24小時還是上午/下午制。

                   參數

                            is24HourView     True表示 24小時制. False表示上午/下午制.

 

         public void setOnTimeChangedListener (TimePicker.OnTimeChangedListener onTimeChangedListener)

         設置時間調整事件的回調函數。

                   參數

                              onTimeChangedListener          回調函數,不能為空。 

 二、示例(全局模式)

1、布局文件

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical" >
 6 
 7     <TimePicker
 8         android:id="@+id/id_timePicker1"
 9         android:layout_width="wrap_content"
10         android:layout_height="wrap_content" />
11 
12 </LinearLayout>

二、activity

 1 package base_ui;
 2 
 3 import java.util.Calendar;
 4 
 5 import com.example.allcode.R;
 6 
 7 import android.app.Activity;
 8 import android.app.TimePickerDialog;
 9 import android.app.TimePickerDialog.OnTimeSetListener;
10 import android.os.Bundle;
11 import android.text.format.Time;
12 import android.widget.TimePicker;
13 import android.widget.TimePicker.OnTimeChangedListener;
14 
15 public class Ui_TimePicker extends Activity{
16     private TimePicker timepicker;
17     private Calendar cal;//顯示當前日期
18     private int year;
19     private int month;
20     private int day;
21     private int hour;
22     private int minute;
23     
24     @Override
25     protected void onCreate(Bundle savedInstanceState) {
26         
27         // TODO Auto-generated method stub
28         super.onCreate(savedInstanceState);
29         setContentView(R.layout.ui_timepickerdialog);
30         timepicker = (TimePicker) findViewById(R.id.id_timePicker1);
31     
32         //獲取日歷的對象
33                 cal=Calendar.getInstance();
34                 //獲取年月日時分秒信息
35                 year = cal.get(Calendar.YEAR);
36                 month = cal.get(Calendar.MONTH)+1;//注意點 ,要加一
37                 day = cal.get(Calendar.DAY_OF_MONTH);
38                 hour = cal.get(Calendar.HOUR_OF_DAY);
39                 minute = cal.get(Calendar.MINUTE);
40                 
41                 setTitle("選擇的時間:"+hour+"時-"+minute+"");
42          timepicker.setOnTimeChangedListener(new OnTimeChangedListener() {
43              
44              @Override
45              public void onTimeChanged(TimePicker view, int hour, int minute) {
46                  // TODO Auto-generated method stub
47                  setTitle("選擇的時間:"+hour+"時-"+minute+"");
48             }
49          });
50         
51         
52         
53     }
54 
55 }

效果圖:

 

三、示例(對話框模式)

對應上述示例42--49行代碼

1 new TimePickerDialog(this, new OnTimeSetListener() {
2             
3             @Override
4             public void onTimeSet(TimePicker view, int hour, int minute) {
5                 // TODO Auto-generated method stub
6                 setTitle("選擇的時間:"+hour+"時-"+minute+"");
7             }
8         }, hour, minute, true).show();//前兩個參數初始化,第三個參數確定是否顯示24小時格式的
9     }

效果圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM