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

来源:互联网 发布:网络准入系统 编辑:程序博客网 时间:2024/05/16 15:09

引用自:http://blog.csdn.net/zsh157621866651/article/details/51539301


范例一运行效果图:




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

[java] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. //在此方法中创建dialog  
  2.     protected void createdialog(){  
  3.         //初始化AlertDialog构建器对象  
  4.         AlertDialog.Builder b=new Builder(OneActivity.this);  
  5.         //设置dialog信息  
  6.         b.setMessage("确定退出吗?");  
  7.         //设置dialog标题  
  8.         b.setTitle("提示");  
  9.         b.setIcon(android.R.drawable.ic_dialog_alert);//添加警告图片  
  10.         b.setPositiveButton("确认"new DialogInterface.OnClickListener() {  
  11.             @Override  
  12.             public void onClick(DialogInterface dialog, int which) {  
  13.                 //如果用户单击确认退出,则对话框消失,程序关闭  
  14.                 dialog.dismiss();  
  15. //              OneActivity.this.finish();  
  16.                 android.os.Process.killProcess(android.os.Process.myPid());  
  17.             }  
  18.         });  
  19.         b.setNegativeButton("取消"new DialogInterface.OnClickListener() {  
  20.             @Override  
  21.             public void onClick(DialogInterface dialog, int which) {  
  22.                 //如果用户单机取消退出,则对话框消失  
  23.                 dialog.dismiss();  
  24.             }  
  25.         });  
  26.         //创建对话框并且显示  
  27.         b.create().show();  
  28.     }  
  29.     //在Activity中的键盘监听回调时间  
  30.     public boolean onKeyDown(int keyCode,KeyEvent event){  
  31.         if(keyCode==KeyEvent.KEYCODE_BACK || (keyCode == KeyEvent.KEYCODE_HOME)   
  32.                                 && event.getRepeatCount()==0){  
  33.             createdialog();  
  34.         }  
  35.         return false;  
  36.     }  


范例二运行效果图:





[java] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. //创建dialog方法  
  2.     protected void createDialog(){  
  3.         //初始化AlertDialog构造器对象  
  4.         AlertDialog.Builder builder=new Builder(MainActivity.this);  
  5.         //设置dialog的信息  
  6.         builder.setMessage("如果您有什么好的建议,希望及时联系!");  
  7.         //内部定义TextView  
  8.         TextView tv=new TextView(MainActivity.this);  
  9.         tv.setText("关于");  
  10.         tv.setTextSize(35);  
  11.         //创建对话框并且显示  
  12.         AlertDialog dialog=builder.create();  
  13.         dialog.setCustomTitle(tv);  
  14.         dialog.show();        
  15.     }  
  16.       
  17.     //在Activity中的键盘监听回调事件  
  18.     public boolean onKeyDown(int keyCode,KeyEvent event){  
  19.         //判断当用户按下menu键的时候触发的事件  
  20.         if(keyCode==KeyEvent.KEYCODE_MENU && event.getRepeatCount()==0){  
  21.             createDialog();  
  22.         }  
  23.         return false;  
  24.     }  


范例三运行效果图:



[java] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. private TextView Tv;  
  2.     @Override  
  3.     protected void onCreate(Bundle savedInstanceState) {  
  4.         super.onCreate(savedInstanceState);  
  5.         setContentView(R.layout.activity_evaluate);  
  6.         Tv=(TextView) findViewById(R.id.Tv);  
  7.     }  
  8.     //创建dialog  
  9.     protected void createDialog(){  
  10.         //构造dialog  
  11.         Dialog dialog=new Builder(EvaluateActivity.this)  
  12.                 //设置对话框的标题和图标  
  13.                 .setIcon(R.drawable.white).setTitle("评价对话框")  
  14.                 //对话框中的信息  
  15.                 .setMessage("谢谢您对我的服务进行评价:")  
  16.                 //设置对话框的按钮  
  17.                 .setPositiveButton("很好"new OnClickListener() {  
  18.                     @Override  
  19.                     public void onClick(DialogInterface arg0, int arg1) {  
  20.                         Tv.setText("很好");  
  21.                     }  
  22.                 }).setNegativeButton("一般"new OnClickListener() {  
  23.                     @Override  
  24.                     public void onClick(DialogInterface arg0, int arg1) {  
  25.                         Tv.setText("一般");  
  26.                     }  
  27.                 }).setNeutralButton("有待提高"new OnClickListener() {  
  28.                     @Override  
  29.                     public void onClick(DialogInterface arg0, int arg1) {  
  30.                         Tv.setText("有待提高");  
  31.                     }  
  32.                 }).create();  
  33.         //显示对话框  
  34.         dialog.show();  
  35.     }  
  36.     //在Activity中的键盘监听回调事件  
  37.     public boolean onKeyDown(int keyCode,KeyEvent event){  
  38.         //当用户按下menu键的时候弹出对话框  
  39.         if(keyCode==KeyEvent.KEYCODE_MENU && event.getRepeatCount()==0){  
  40.             createDialog();  
  41.         }  
  42.         return false;  
  43.     }  
0 0
原创粉丝点击