TimePicker:时间选择器。这个和DatePicker的设置基本差不多,下面就不多说了,基本注释都在代码中。

效果:

程序开始画面

点击按钮后就会显示时间选择器对话框

 

在对话框上面设置时间:

 

当用户设置好时间后,将时间显示到TextView上面:

 

 

layout中的xml文件:

 

 
  
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  2.         android:layout_width="fill_parent" 
  3.         android:layout_height="fill_parent" 
  4.         android:orientation="vertical"> 
  5.  
  6.     <TextView   
  7.         android:id="@+id/textview" 
  8.         android:layout_width="fill_parent" 
  9.         android:layout_height="wrap_content" 
  10.         android:text="设置的时间:" 
  11.         /> 
  12.     <Button 
  13.         android:id="@+id/timepickerBut"   
  14.         android:layout_width="wrap_content" 
  15.         android:layout_height="wrap_content" 
  16.         android:text="改变时间" 
  17.         /> 
  18.  
  19. </LinearLayout> 

Activaty.java文件:

 

 
  
  1. package com.cheng.timepickerproject;  
  2.  
  3. import java.util.Calendar;  
  4. import android.os.Bundle;  
  5. import android.app.Activity;  
  6. import android.app.Dialog;  
  7. import android.app.TimePickerDialog;  
  8. import android.app.TimePickerDialog.OnTimeSetListener;  
  9. import android.view.Menu;  
  10. import android.view.View;  
  11. import android.widget.Button;  
  12. import android.widget.TextView;  
  13. import android.widget.TimePicker;  
  14.  
  15. public class TimePickerActivity extends Activity {  
  16.     private Button mButton;    //定义按钮  
  17.     private TextView mTextView;//定义文本框  
  18.       
  19.     private int mHour;       //存放时间的小时  
  20.     private int mMinute;     //存放时间的分钟  
  21.       
  22.     private static final int TIMEPICKER_DIALOG_1 = 0;   //设置Dialog的id  
  23.       
  24.       
  25.     //时间监听器,当用户改变时间的时候将会调用它  
  26.     OnTimeSetListener otsl = new OnTimeSetListener() {  
  27.           
  28.         @Override 
  29.         public void onTimeSet(TimePicker view, int hourOfDay, int minute) {  
  30.             // TODO Auto-generated method stub  
  31.             //设置小时、分钟,并把时间显示在文本框上  
  32.             mHour = hourOfDay;  
  33.             mMinute = minute;  
  34.             mTextView.setText("当前时间:" + mHour +":"+mMinute);  
  35.         }  
  36.     };  
  37.       
  38.       
  39.     //从写onCreateDialog,创建一个对话框  
  40.     protected Dialog onCreateDialog(int id) {  
  41.         switch (id) {  
  42.         case TIMEPICKER_DIALOG_1:  
  43.             //新建一个TimePickerDialog  
  44.             return new TimePickerDialog(TimePickerActivity.this, otsl, mHour, mMinute, true);  
  45.  
  46.         default:  
  47.             break;  
  48.         }  
  49.         return null;  
  50.           
  51.     }  
  52.     @Override 
  53.     protected void onCreate(Bundle savedInstanceState) {  
  54.         super.onCreate(savedInstanceState);  
  55.         super.setContentView(R.layout.main);  
  56.           
  57.         //给按钮和文本框赋值  
  58.         mButton = (Button)findViewById(R.id.timepickerBut);  
  59.         mTextView = (TextView)findViewById(R.id.textview);  
  60.           
  61.         //点击监听器  
  62.         View.OnClickListener ocl = new View.OnClickListener() {  
  63.               
  64.             @Override 
  65.             public void onClick(View v) {  
  66.                 // TODO Auto-generated method stub  
  67.                 //获得当前的时间的小时和分钟  
  68.                 Calendar calendar = Calendar.getInstance();  
  69.                 mHour = calendar.get(Calendar.HOUR);  
  70.                 mMinute = calendar.get(Calendar.MINUTE);  
  71.                 //显示对话框  
  72.                 showDialog(TIMEPICKER_DIALOG_1);  
  73.             }  
  74.         };  
  75.         //将点击时间绑定到按钮上面  
  76.         mButton.setOnClickListener(ocl);  
  77.     }  
  78.  
  79.     @Override 
  80.     public boolean onCreateOptionsMenu(Menu menu) {  
  81.         // Inflate the menu; this adds items to the action bar if it is present.  
  82.         getMenuInflater().inflate(R.menu.main, menu);  
  83.         return true;  
  84.     }  
  85.  
  86. }  

ok,加上下载工程链接:

http://down.51cto.com/data/674184