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;
}
}
}

更多相关文章

  1. Android设置重复文字水印背景
  2. android 选择图片(从手机照相机或手机图片)
  3. 阅读《Android(安卓)从入门到精通》(13)——日期选择器
  4. 如何为Android(安卓)Activity设置背景图片?
  5. View的XML 属性大全(官方文档)
  6. android中Notification的使用
  7. android 隐藏标题栏
  8. Android(安卓)修改系统时间代码
  9. Android(安卓)-- 文字设置超链接

随机推荐

  1. 如何测试一个点是否是二次Bézier曲线的
  2. 在ExtJS中调用超类方法的更好方法
  3. 浅析JS中的 map, filter, some, every, f
  4. jQuery选择器,用于查找与选择器匹配的给定
  5. 嵌套水平滑块与单击控件
  6. 用javaScript编写的验证函数只运行一次?
  7. 下拉列表中的Prestashop过滤器不起作用
  8. 错误地将JSON数据写入文件。
  9. 很多骨干观点 - 性能问题?
  10. 单击内部标记时将类添加到li