TimePicker是Android的时间设置控件。TimePicker类的继承图如下:
java.lang.Object
↳android.view.View
↳android.view.ViewGroup
↳android.widget.FrameLayout
↳android.widget.TimePicker
android.widget.TimePicker继承了android.widget.FrameLayout框架布局类。 TimePicker例子如图7-8所示,从左到右是小时、分钟、上午和下午设置按钮,改变小时、分钟、上午和下午都会触发OnTimeChanged事 件。
 

图7-8 TimePicker


图7-8 TimePicker
请参考代码清单7-8,完整代码请参考chapter7_1工程中chapter7_TimePicker代码部分。
【代码清单7-8】


  
  1. public class chapter7_TimePicker extends Activity { 
  2. private TextView mTimeDisplay; 
  3.  
  4. @Override 
  5. public void onCreate(Bundle savedInstanceState) { 
  6. super.onCreate(savedInstanceState); 
  7. setContentView(R.layout.timepicker_layout); 
  8.  
  9. TimePicker timePicker = (TimePicker) findViewById(R.id.timePicker); 
  10.  
  11. timePicker.setCurrentHour(12); 
  12. timePicker.setCurrentMinute(15); 
  13.  
  14. mTimeDisplay = (TextView) findViewById(R.id.timetextview); 
  15.  
  16. timePicker 
  17. .setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() { 
  18. @Override 
  19. public void onTimeChanged(TimePicker view, int hourOfDay, 
  20. int minute) { 
  21. mTimeDisplay.setText(String.valueOf(hourOfDay) + " : " 
  22. + String.valueOf(minute)); 
  23. }); 
  24. }  


timePicker.setCurrentHour()方法设置当前时间,timePicker.setCurrentMinute()方法设置当前分钟。TimePicker.OnTimeChangedListener()是实现时间改变监听接口。
TimePicker的布局文件请参考代码清单7-9,完整代码请参考chapter7_1工程中timepicker_layout.xml代码部分(chapter7_1/res/layout/timepicker_layout.xml)。
【代码清单7-9】


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


                                                出自《Android开发案例驱动教程》第七章