(20120808)(01)android菜单与对话框--之日期及时间选择对话框

清单文件

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
  3.       package="com.ljq.dialog" 
  4.       android:versionCode="1" 
  5.       android:versionName="1.0">  
  6.     <application android:icon="@drawable/icon" android:label="@string/app_name">  
  7.         <activity android:name=".AlertDialog" 
  8.                   android:label="@string/app_name">  
  9.             <intent-filter>  
  10.                 <action android:name="android.intent.action.MAIN" />  
  11.                 <category android:name="android.intent.category.LAUNCHER" />  
  12.             </intent-filter>  
  13.         </activity>  
  14.  
  15.     </application>  
  16.     <uses-sdk android:minSdkVersion="7" />  
  17.     <uses-permission android:name="android.permission.WRITE_CALENDAR" />  
  18. </manifest> 

main.xml布局文件

 

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout android:id="@+id/LinearLayout01" 
  3.     android:layout_width="fill_parent" android:layout_height="fill_parent" 
  4.     android:orientation="vertical" 
  5.     xmlns:android="http://schemas.android.com/apk/res/android">  
  6.     <EditText android:id="@+id/et"   
  7.         android:layout_width="fill_parent" 
  8.         android:layout_height="wrap_content"   
  9.         android:editable="false" 
  10.         android:cursorVisible="false" />  
  11.     <Button android:text="日期对话框"   
  12.         android:id="@+id/dateBtn" 
  13.         android:layout_width="fill_parent" 
  14.         android:layout_height="wrap_content" />  
  15.     <Button android:text="时间对话框"   
  16.         android:id="@+id/timeBtn" 
  17.         android:layout_width="fill_parent" 
  18.         android:layout_height="wrap_content" />  
  19.     <DigitalClock   
  20.         android:text="@+id/digitalClock" 
  21.         android:textSize="20dip"   
  22.         android:gravity="center" 
  23.         android:id="@+id/DigitalClock01"   
  24.         android:layout_width="fill_parent" 
  25.         android:layout_height="wrap_content" />  
  26.     <AnalogClock   
  27.         android:id="@+id/analogClock" 
  28.         android:gravity="center"   
  29.         android:layout_width="fill_parent" 
  30.         android:layout_height="wrap_content" />  
  31. </LinearLayout> 

AlertActivity类

 

  1. package com.ljq.dialog;  
  2.  
  3. import java.util.Calendar;  
  4.  
  5. import android.app.Activity;  
  6. import android.app.DatePickerDialog;  
  7. import android.app.Dialog;  
  8. import android.app.TimePickerDialog;  
  9. import android.os.Bundle;  
  10. import android.view.View;  
  11. import android.widget.Button;  
  12. import android.widget.DatePicker;  
  13. import android.widget.EditText;  
  14. import android.widget.TimePicker;  
  15.  
  16. public class AlertDialog extends Activity {  
  17.     private Button dateBtn = null;  
  18.     private Button timeBtn = null;  
  19.     private EditText et=null;  
  20.     private final static int DATE_DIALOG = 0;  
  21.     private final static int TIME_DIALOG = 1;  
  22.     private Calendar c = null;  
  23.  
  24.     @Override 
  25.     public void onCreate(Bundle savedInstanceState) {  
  26.         super.onCreate(savedInstanceState);  
  27.         setContentView(R.layout.main);  
  28.  
  29.         et=(EditText)findViewById(R.id.et);  
  30.         dateBtn = (Button) findViewById(R.id.dateBtn);  
  31.         timeBtn = (Button) findViewById(R.id.timeBtn);  
  32.         dateBtn.setOnClickListener(new View.OnClickListener(){  
  33.             public void onClick(View v) {  
  34.                 showDialog(DATE_DIALOG);  
  35.             }  
  36.         });  
  37.         timeBtn.setOnClickListener(new View.OnClickListener(){  
  38.             public void onClick(View v) {  
  39.                 showDialog(TIME_DIALOG);  
  40.             }  
  41.         });  
  42.  
  43.     }  
  44.  
  45.     /**  
  46.      * 创建日期及时间选择对话框  
  47.      */ 
  48.     @Override 
  49.     protected Dialog onCreateDialog(int id) {  
  50.         Dialog dialog = null;  
  51.         switch (id) {  
  52.         case DATE_DIALOG:  
  53.             c = Calendar.getInstance();  
  54.             dialog = new DatePickerDialog(  
  55.                 this,  
  56.                 new DatePickerDialog.OnDateSetListener() {  
  57.                     public void onDateSet(DatePicker dp, int year,int month, int dayOfMonth) {  
  58.                         et.setText("您选择了:" + year + "年" + (month+1) + "月" + dayOfMonth + "日");  
  59.                     }  
  60.                 },   
  61.                 c.get(Calendar.YEAR), // 传入年份  
  62.                 c.get(Calendar.MONTH), // 传入月份  
  63.                 c.get(Calendar.DAY_OF_MONTH) // 传入天数  
  64.             );  
  65.             break;  
  66.         case TIME_DIALOG:  
  67.             c=Calendar.getInstance();  
  68.             dialog=new TimePickerDialog(  
  69.                 this,   
  70.                 new TimePickerDialog.OnTimeSetListener(){  
  71.                     public void onTimeSet(TimePicker view, int hourOfDay, int minute) {  
  72.                         et.setText("您选择了:"+hourOfDay+"时"+minute+"分");  
  73.                     }  
  74.                 },  
  75.                 c.get(Calendar.HOUR_OF_DAY),  
  76.                 c.get(Calendar.MINUTE),  
  77.                 false 
  78.             );  
  79.             break;  
  80.         }  
  81.         return dialog;  
  82.     }  
  83.  

(20120808)(01)android菜单与对话框--之日期及时间选择对话框_时间

(20120808)(01)android菜单与对话框--之日期及时间选择对话框_android_02