Android AlertDialog 点击区域外不可取消,点击返回键可以与 Activity 同时撤销
Android 大约 1045 字AlertDialog 属性设置
点击区域外不可取消,点击返回键可以与Activity
同时撤销
public void initAlertDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
View view = View.inflate(this, R.layout.dialog_view, null);
builder.setView(view);
final AlertDialog alertDialog = builder.create();
view.findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
alertDialog.dismiss();
//点击之后对话框消失,实现业务逻辑
}
});
alertDialog.setCanceledOnTouchOutside(false);//对话框区域外点击无效,但是可以点击返回键
alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() {//监听返回键,与activity同时销毁,否则会先dismiss再finish
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
finish();
dialog.dismiss();//要达到同时销毁效果,可在finish()后dismiss,如果不dismiss,dialog会leak。
}
return false;
}
});
alertDialog.show();
}
阅读 3863 · 发布于 2019-04-10
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb扫描下方二维码关注公众号和小程序↓↓↓

昵称:
随便看看
换一批
-
数据结构:队列-数组实现阅读 798
-
PHP curl 报错:SSL connect error阅读 2001
-
Windows 使用 Chrome 调试运行在 iOS 设备的网页阅读 976
-
Java WebSocket The remote endpoint was in state [TEXT_FULL_WRITING] which is an invalid state for called method阅读 1598
-
Spring 循环依赖能否用二级缓存解决阅读 936
-
Android Gradle 去除重复依赖阅读 2565
-
Java 并发编程之 ConcurrentLinkedQueue 非阻塞队列阅读 623
-
IDEA 使用 Swing Explorer 调试 Swing 和 AWT阅读 865
-
Arthas 使用 trace 查找耗时操作和调用链路阅读 3578
-
Java 中的 WebSocket阅读 1161