AlertDialog----确认单击物理键退出对话框

原创 2016年05月30日 17:06:36

范例一运行效果图:




在OneActivity.java中添加如下监听器:

//在此方法中创建dialog
	protected void createdialog(){
		//初始化AlertDialog构建器对象
		AlertDialog.Builder b=new Builder(OneActivity.this);
		//设置dialog信息
		b.setMessage("确定退出吗?");
		//设置dialog标题
		b.setTitle("提示");
		b.setIcon(android.R.drawable.ic_dialog_alert);//添加警告图片
		b.setPositiveButton("确认", new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				//如果用户单击确认退出,则对话框消失,程序关闭
				dialog.dismiss();
//				OneActivity.this.finish();
				android.os.Process.killProcess(android.os.Process.myPid());
			}
		});
		b.setNegativeButton("取消", new DialogInterface.OnClickListener() {
			@Override
			public void onClick(DialogInterface dialog, int which) {
				//如果用户单机取消退出,则对话框消失
				dialog.dismiss();
			}
		});
		//创建对话框并且显示
		b.create().show();
	}
	//在Activity中的键盘监听回调时间
	public boolean onKeyDown(int keyCode,KeyEvent event){
		if(keyCode==KeyEvent.KEYCODE_BACK || (keyCode == KeyEvent.KEYCODE_HOME) 
								&& event.getRepeatCount()==0){
			createdialog();
		}
		return false;
	}


范例二运行效果图:





//创建dialog方法
	protected void createDialog(){
		//初始化AlertDialog构造器对象
		AlertDialog.Builder builder=new Builder(MainActivity.this);
		//设置dialog的信息
		builder.setMessage("如果您有什么好的建议,希望及时联系!");
		//内部定义TextView
		TextView tv=new TextView(MainActivity.this);
		tv.setText("关于");
		tv.setTextSize(35);
		//创建对话框并且显示
		AlertDialog dialog=builder.create();
		dialog.setCustomTitle(tv);
		dialog.show();		
	}
	
	//在Activity中的键盘监听回调事件
	public boolean onKeyDown(int keyCode,KeyEvent event){
		//判断当用户按下menu键的时候触发的事件
		if(keyCode==KeyEvent.KEYCODE_MENU && event.getRepeatCount()==0){
			createDialog();
		}
		return false;
	}


范例三运行效果图:



private TextView Tv;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_evaluate);
		Tv=(TextView) findViewById(R.id.Tv);
	}
	//创建dialog
	protected void createDialog(){
		//构造dialog
		Dialog dialog=new Builder(EvaluateActivity.this)
				//设置对话框的标题和图标
				.setIcon(R.drawable.white).setTitle("评价对话框")
				//对话框中的信息
				.setMessage("谢谢您对我的服务进行评价:")
				//设置对话框的按钮
				.setPositiveButton("很好", new OnClickListener() {
					@Override
					public void onClick(DialogInterface arg0, int arg1) {
						Tv.setText("很好");
					}
				}).setNegativeButton("一般", new OnClickListener() {
					@Override
					public void onClick(DialogInterface arg0, int arg1) {
						Tv.setText("一般");
					}
				}).setNeutralButton("有待提高", new OnClickListener() {
					@Override
					public void onClick(DialogInterface arg0, int arg1) {
						Tv.setText("有待提高");
					}
				}).create();
		//显示对话框
		dialog.show();
	}
	//在Activity中的键盘监听回调事件
	public boolean onKeyDown(int keyCode,KeyEvent event){
		//当用户按下menu键的时候弹出对话框
		if(keyCode==KeyEvent.KEYCODE_MENU && event.getRepeatCount()==0){
			createDialog();
		}
		return false;
	}



版权声明:本文为博主原创文章,未经博主允许不得转载。

android Dialog弹出框对物理按键的响应

大家都知道Dialog是弹出提示框,往往android用它的时候不需要在意许多,对其中的按钮自己做监听就是了。 但是在使用物理按键也需要让它做响应的时候就出问题,怎么都无法响应,后面才发现,原来Di...
  • ddxxii
  • ddxxii
  • 2016年04月10日 18:55
  • 2093

Dialog确定和删除按钮

main.xml代码下:

系统AlertDialog的点击确定dialog不消失

我们会用到android自带的alertDialog,非常简单,但是,弄完之后会发现,点击确定和取消,都对dialog进行了dismiss。 我们有时候需要对dialog点击确定进行判断,满足条件取...

创建一个AlertDialog对话框,必须按确定或取消按钮才能关闭对话框

Android: 创建一个AlertDialog对话框,必须按确定或取消按钮才能关闭对话框,禁止按[返回键]或[搜索键]关闭 AlertDialog.Builder builder = ...

如何让AlertDialog 在点击确定或者取消时不消失

有时候我们会在AlertDialog 里面进行一些逻辑判断,当单击“确定“按钮时完成某些工作,如果这些工作失败,对话框不能关闭。而当成功完成工作后,则关闭对话框。但是系统默认是每次点击确定按钮或者取消...

Dialog与返回键onKeyDown

转自:http://www.android100.org/html/201403/07/5804.html 1、如果想阻止“返回键”关闭Dialog最简单的方法是setCancelable(fals...

AlertDialog 设置外部按键监听

.setOnKeyListener(new DialogInterface.OnKeyListener(){ 重写里面的  onKey 方法    返回true 代表 处理事件   返回false...

AlertDiadig对话框的几种常见的使用方式

在说AlertDialog之前先捎带提一下Log日志: 1.Log.e(tag,message)//打印error信息,颜色为红色。 2.Log.w(tag,message)//打印warn信息,颜色...
  • KO_159
  • KO_159
  • 2016年01月01日 08:41
  • 989

Android Menu的基本使用

在Android中,菜单项是比较常见的一种人机交互方式,通过设置菜单项,既可以节省布局控件,也可以实现更加人性化的操作(可以提供一种不断发掘探索的精神)。其实,关于菜单项,大家都已经见怪不怪了,在wi...

源码分析Fragmentd的BackStack管理过程

1. Fragment基本用法 为了管理Activity中的fragments,需要调用Activity中的getFragmentManager()方法。因为FragmentManager的API是...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:AlertDialog----确认单击物理键退出对话框
举报原因:
原因补充:

(最多只允许输入30个字)