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

范例一运行效果图:

AlertDialog----确认单击物理键退出对话框_第1张图片


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


范例二运行效果图:


AlertDialog----确认单击物理键退出对话框_第2张图片


//创建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;
	}


范例三运行效果图:

AlertDialog----确认单击物理键退出对话框_第3张图片

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)