今天继续Android学习之旅之对话框DIalog的记录,主要包括三个方面:1.普通提示弹框;2.退出弹框;3.弹框选择内容。

1.普通弹框

正常的弹框包括确认、取消两个操作,有的还有查看详情操作。弹框事件代码如下:

private class OnClickListenerDelete implements OnClickListener {@Overridepublic void onClick(View v) {Dialog dialog = new AlertDialog.Builder(MainActivity.this).setIcon(R.drawable.delimg).setTitle("删除确认").setMessage("确定要删除吗").setPositiveButton("删除",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {Toast.makeText(MainActivity.this, "已经删除成功",Toast.LENGTH_LONG).show();}}).setNeutralButton("查看详情",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {Toast.makeText(MainActivity.this, "这是信息详情",Toast.LENGTH_LONG).show();}}).setNegativeButton("取消",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {Toast.makeText(MainActivity.this, "您已取消操作",Toast.LENGTH_LONG).show();}}).create();dialog.show();}}
注意:1.要想实例化Dialog类,需要依靠AlertDialog类的内部类AlertDialog.Builder实例化;2.三个按钮的设置分别不同,setPositiveButton表示确认按钮,setNegativeButton表示取消操作按钮,setNeutralButton表示普通的按钮。

运行效果:

2.退出弹框

一般软件在退出时或者按返回键时都会弹框提示下是否退出,以防误操作。首先点击按钮退出的提示信息代码如下:

private class OnClickListenerExit implements OnClickListener {@Overridepublic void onClick(View v) {MainActivity.this.exit();}}private void exit() {Dialog dialog = new AlertDialog.Builder(MainActivity.this).setTitle("退出程序").setMessage("确定要退出程序吗?").setIcon(R.drawable.warnimg).setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {MainActivity.this.finish();}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(MainActivity.this, "您已取消操作",Toast.LENGTH_LONG).show();}}).create();dialog.show();}
其中MainActivity.this.finish();表示退出程序,可以参考Android生命周期相关的知识。

如何接收用户按返回键呢,只需要重写onKeyDown函数,代码如下:

@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK) {this.exit();}return false;}

运行效果:


3.弹框选择内容

例如点击按钮选择默认城市,Dialog也提供了这样的功能,代码如下:

//城市数据private String cityArray[] = new String[] { "江苏", "浙江", "上海" };private class OnClickListenerSelectCity implements OnClickListener {@Overridepublic void onClick(View v) {Dialog dialog = new AlertDialog.Builder(MainActivity.this).setIcon(R.drawable.cityimg).setTitle("选择城市").setItems(cityArray, new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {String selectInfo = cityArray[which];Toast.makeText(MainActivity.this,"您选择的城市是:" + selectInfo, Toast.LENGTH_LONG).show();}}).setPositiveButton("确定",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {// TODO Auto-generated method stub}}).setNegativeButton("取消",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog,int which) {// TODO Auto-generated method stub}}).create();dialog.show();}}
运行效果:

项目源码下载

更多相关文章

  1. Android(安卓)基础-1.0 按钮4种点击事件
  2. android 按钮按下效果3
  3. Android(安卓)退出整个程序代码
  4. appium---操作手机按键(adb shell input keyevent )
  5. 退出Dialog时,Activity的生命周期运行情况
  6. Android中实现图文并茂的按钮实例代码
  7. Android退出程序问题综述
  8. Android(安卓)程式开发:(一)详解Activity —— 1.4显示“普通”对话
  9. android点击返回键退出应用的实现

随机推荐

  1. 通俗解读NVMe前世今生
  2. Ceph和Gluster,开源存储间的较量
  3. 企业开源:2018年的趋势和机遇
  4. 详解持续数据保护(CDP)和数据副本管理(CD
  5. 详谈持续数据保护(CDP)和数据副本管理(CD
  6. 详解服务器性能测试基准体系
  7. 详谈NVMe和NVMe-oF架构和知识点
  8. 如何使用 Docker Compose 来构建一套开发
  9. 详解服务器处理器基础知识
  10. 关于InfiniBand架构和知识点漫谈