Android之对话框Dialog
16lz
2021-01-26
今天继续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();}}运行效果:
项目源码下载
更多相关文章
- Android(安卓)基础-1.0 按钮4种点击事件
- android 按钮按下效果3
- Android(安卓)退出整个程序代码
- appium---操作手机按键(adb shell input keyevent )
- 退出Dialog时,Activity的生命周期运行情况
- Android中实现图文并茂的按钮实例代码
- Android退出程序问题综述
- Android(安卓)程式开发:(一)详解Activity —— 1.4显示“普通”对话
- android点击返回键退出应用的实现