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

范例一运行效果图:




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



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饕餮幻想家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值