Android(安卓)- 对话框(Dialog)和通知(Notification)
packagecom.webabcd.dialog;
import java.util.Calendar;
importandroid.app.Activity;
importandroid.app.AlertDialog;
importandroid.app.DatePickerDialog;
importandroid.app.Dialog;
importandroid.app.ProgressDialog;
importandroid.app.TimePickerDialog;
importandroid.app.DatePickerDialog.OnDateSetListener;
importandroid.app.TimePickerDialog.OnTimeSetListener;
importandroid.content.DialogInterface;
importandroid.content.DialogInterface.OnClickListener;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.widget.DatePicker;
importandroid.widget.TextView;
importandroid.widget.TimePicker;
importandroid.widget.Button;
publicclassMainextendsActivity{
/**Calledwhentheactivityisfirstcreated. */
@Override
publicvoidonCreate(BundlesavedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//弹出式对话框的Demo。先调用Builder(),在Create(),需要显示对话框的是后再调用show()
AlertDialogdialog=newAlertDialog.Builder(this).setTitle("弹出对话框").create();
dialog.show();
//以下是各种对话框的Demo
MyButtonClickListenerlistener=newMyButtonClickListener();
Buttonbtn1=(Button)this.findViewById(R.id.btn1);
btn1.setText("简单的对话框的Demo");
btn1.setOnClickListener(listener);
Buttonbtn2=(Button)this.findViewById(R.id.btn2);
btn2.setText("包括常用设置的对话框(数据来自xml)");
btn2.setOnClickListener(listener);
Buttonbtn3=(Button)this.findViewById(R.id.btn3);
btn3.setText("弹出的对话框的内容是一个View");
btn3.setOnClickListener(listener);
Buttonbtn4=(Button)this.findViewById(R.id.btn4);
btn4.setText("日期选择对话框");
btn4.setOnClickListener(listener);
Buttonbtn5=(Button)this.findViewById(R.id.btn5);
btn5.setText("时间选择对话框");
btn5.setOnClickListener(listener);
Buttonbtn6=(Button)this.findViewById(R.id.btn6);
btn6.setText("进度条对话框");
btn6.setOnClickListener(listener);
}
classMyButtonClickListenerimplementsView.OnClickListener{
@Override
publicvoidonClick(Viewv) {
//具体的对话框的实现可以通过重写onCreateDialog完成
switch(v.getId()) {
caseR.id.btn1:
Main.this.showDialog(0);
break;
caseR.id.btn2:
Main.this.showDialog(1);
break;
caseR.id.btn3:
Main.this.showDialog(2);
break;
caseR.id.btn4:
Main.this.showDialog(3);
break;
caseR.id.btn5:
Main.this.showDialog(4);
break;
caseR.id.btn6:
Main.this.showDialog(5);
break;
}
}
}
@Override
publicDialogonCreateDialog(intid) {
switch(id) {
case0:
//一个简单的弹出对话框
returnnewAlertDialog.Builder(this).setTitle("这是一个简单的弹出对话框的Demo")
.create();
case1:
//一个相对复杂的弹出对话框
returnnewAlertDialog.Builder(this)
.setTitle("标题")//设置标题
//.setCustomTitle(View)//以一个View作为标题
.setIcon(R.drawable.icon01)//设置标题图片
//.setMessage("信息")//需要显示的弹出内容
.setPositiveButton("确定",newOnClickListener() {//设置弹框的确认按钮所显示的文本,以及单击按钮后的响应行为
@Override
publicvoidonClick(DialogInterfacea0,inta1) {
TextViewtxtMsg=(TextView)Main.this.findViewById(R.id.txtMsg);
txtMsg.append("单击了对话框上的“确认”按钮\n");
}
})
.setItems(R.array.ary,newDialogInterface.OnClickListener() {//弹框所显示的内容来自一个数组。数组中的数据会一行一行地依次排列
publicvoidonClick(DialogInterfacedialog,intwhich) {
}
})
//其他常用方法如下
//.setMultiChoiceItems(arg0,arg1,arg2)
//.setSingleChoiceItems(arg0,arg1,arg2)
//.setNeutralButton(arg0,arg1)
//.setNegativeButton(arg0,arg1)
.create();
case2:
//弹出对话框为指定的View的Demo
returnnewAlertDialog.Builder(this).setTitle("此对话框的内容是一个View")
.setView(this.findViewById(R.layout.view)).create();
case3:
//弹出日期选择对话框
Calendarc=Calendar.getInstance();
returnnewDatePickerDialog(this,newOnDateSetListener() {
@Override
publicvoidonDateSet(DatePickerview,intyear,intmonthOfYear,intdayOfMonth) {
TextViewtxtMsg=(TextView)Main.this.findViewById(R.id.txtMsg);
txtMsg.append("新设置的日期为:"+String.valueOf(year)+"-"
+String.valueOf(monthOfYear)+"-"
+String.valueOf(dayOfMonth)+"\n");
}
},c.get(Calendar.YEAR),c.get(Calendar.MONTH),c.get(Calendar.DATE));
case4:
//弹出时间选择对话框
Calendarc2=Calendar.getInstance();
returnnewTimePickerDialog(this,newOnTimeSetListener() {
@Override
publicvoidonTimeSet(TimePickerview,inthourOfDay,intminute) {
TextViewtxtMsg=(TextView)Main.this.findViewById(R.id.txtMsg);
txtMsg.append("新设置的时间为:"
+String.valueOf(hourOfDay)+":"
+String.valueOf(minute)+"\n");
}
},c2.get(Calendar.HOUR),c2.get(Calendar.MINUTE),true);
case5:
//弹出进度条对话框
ProgressDialogprogress=newProgressDialog(this);
progress.setMessage("loading...");
returnprogress;
default:
returnnull;
}
}
}
更多相关文章
- Android设置重复文字水印背景
- android 选择图片(从手机照相机或手机图片)
- 阅读《Android(安卓)从入门到精通》(13)——日期选择器
- 如何为Android(安卓)Activity设置背景图片?
- View的XML 属性大全(官方文档)
- android中Notification的使用
- android 隐藏标题栏
- Android(安卓)修改系统时间代码
- Android(安卓)-- 文字设置超链接