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 获取播放视频的相关 内容,  分辨率, 方向,作者信息
  4. Android 去掉窗口标题和程序全屏
  5. android studio 3.6.1导入项目报错(无法下载classpath里的内容)

随机推荐

  1. [Android]在Manifest中注册广播监听器
  2. Android(安卓)添加程序到桌面favorites列
  3. 29.Android 传感器
  4. android线程间通信和主线程更新ui
  5. Android之WebViewClient与WebChromeClien
  6. android Button源码分析
  7. 【记录】 Android 双卡手机获取两个IMEI
  8. MenuItemCompat.getActionProvider 返回
  9. 解决:Error: Could not find gradle wrapp
  10. 【Android Studio】几款好用的Android St