清单文件
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ljq.dialog" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".AlertDialog" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="7" /> <uses-permission android:name="android.permission.WRITE_CALENDAR" /> </manifest>
main.xml布局文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@+id/LinearLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android"> <EditText android:id="@+id/et" android:layout_width="fill_parent" android:layout_height="wrap_content" android:editable="false" android:cursorVisible="false" /> <Button android:text="日期对话框" android:id="@+id/dateBtn" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <Button android:text="时间对话框" android:id="@+id/timeBtn" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <DigitalClock android:text="@+id/digitalClock" android:textSize="20dip" android:gravity="center" android:id="@+id/DigitalClock01" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <AnalogClock android:id="@+id/analogClock" android:gravity="center" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
AlertActivity类
package com.ljq.dialog; import java.util.Calendar; import android.app.Activity; import android.app.DatePickerDialog; import android.app.Dialog; import android.app.TimePickerDialog; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.DatePicker; import android.widget.EditText; import android.widget.TimePicker; public class AlertDialog extends Activity { private Button dateBtn = null; private Button timeBtn = null; private EditText et=null; private final static int DATE_DIALOG = 0; private final static int TIME_DIALOG = 1; private Calendar c = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); et=(EditText)findViewById(R.id.et); dateBtn = (Button) findViewById(R.id.dateBtn); timeBtn = (Button) findViewById(R.id.timeBtn); dateBtn.setOnClickListener(new View.OnClickListener(){ public void onClick(View v) { showDialog(DATE_DIALOG); } }); timeBtn.setOnClickListener(new View.OnClickListener(){ public void onClick(View v) { showDialog(TIME_DIALOG); } }); } /** * 创建日期及时间选择对话框 */ @Override protected Dialog onCreateDialog(int id) { Dialog dialog = null; switch (id) { case DATE_DIALOG: c = Calendar.getInstance(); dialog = new DatePickerDialog( this, new DatePickerDialog.OnDateSetListener() { public void onDateSet(DatePicker dp, int year,int month, int dayOfMonth) { et.setText("您选择了:" + year + "年" + (month+1) + "月" + dayOfMonth + "日"); } }, c.get(Calendar.YEAR), // 传入年份 c.get(Calendar.MONTH), // 传入月份 c.get(Calendar.DAY_OF_MONTH) // 传入天数 ); break; case TIME_DIALOG: c=Calendar.getInstance(); dialog=new TimePickerDialog( this, new TimePickerDialog.OnTimeSetListener(){ public void onTimeSet(TimePicker view, int hourOfDay, int minute) { et.setText("您选择了:"+hourOfDay+"时"+minute+"分"); } }, c.get(Calendar.HOUR_OF_DAY), c.get(Calendar.MINUTE), false ); break; } return dialog; } }
运行结果