设计三种对话框,分别是进度、日期和时间对话框
(一)设计界面的布局文件activity_main.xml。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="打开进度对话框"
android:textSize="39sp"
/>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="打开日期对话框"
android:textSize="39sp"
/>
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="打开时间对话框"
android:textSize="39sp"
/>
</LinearLayout>
(二)设计设计控制文件MainActivity.java。
package com.example.test36;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.ProgressDialog;
import android.app.TimePickerDialog;
import android.app.TimePickerDialog.OnTimeSetListener;
import android.app.DatePickerDialog.OnDateSetListener;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TimePicker;
public class MainActivity extends Activity {
Button btn1,btn2,btn3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1=(Button)findViewById(R.id.button1);
btn2=(Button)findViewById(R.id.button2);
btn3=(Button)findViewById(R.id.button3);
btn1.setOnClickListener(new mClick());
btn2.setOnClickListener(new mClick());
btn3.setOnClickListener(new mClick());
}
class mClick implements OnClickListener
{
int m_year = 2012;
int m_month = 1;
int m_day = 1;
int m_hour =12,
m_minute = 1;
@Override
public void onClick(View v)
{
if(v == btn1)
{
ProgressDialog d=new ProgressDialog(MainActivity.this);
d.setTitle("进度对话框");
d.setIndeterminate(true);
d.setMessage("程序正在Loading...");
d.setCancelable(true);
d.setMax(10);
d.show();
}
else if(v == btn2)
{
//设置日期监听器
OnDateSetListener dateSetListener = new OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
{
m_year = year;
m_month = monthOfYear;
m_day = dayOfMonth;
}
};
//创建日期对话框对象
DatePickerDialog date = new DatePickerDialog(MainActivity.this,
dateSetListener, m_year,m_month,m_day);
date.setTitle("日期对话框");
date.show();
}
else if(v == btn3)
{
//设置时间监听器
OnTimeSetListener timeSetListener = new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
m_hour = hourOfDay;
m_minute = minute;
}
};
TimePickerDialog d = new TimePickerDialog(MainActivity.this,
timeSetListener, m_hour,m_minute,true);
d.setTitle("时间对话框");
d.show();
}
}
}
}
以下是演示图
‘’
进度对话框:
日期对话框:
时间对话框:
心得与体会:
学习的重点主要侧重在日期和时间选择对话框。日期选择对话框DatePickerDialog和时间选择对话框TimePickDialog都继承于AlertDialog。方法有以下:
updateDate(int year,int monthOfYear,int dayOfMonth)//设置DatePickerDialog对象的当前日期
onDateChanged(DatePicker view,int year,int month,int day)//修改DatePickerDialog对象的日期
updateTime(int hourOfDay,int minutOfHour)//设置TimePickDialog对象的时间
onTimeChanged(TimePicker view,int hourOfDay,int minute)//修改TimePickDialog对象的时间