java - 在 Java Android Studio 中删除对话框周围的触摸
问题描述
我正在研究如何消除对话框周围的触摸效果
我在未检测到连接时创建了一个对话框
代码
@Override
public void onErrorResponse(String _param1, String _param2) {
final String _tag = _param1;
final String _message = _param2;
nc.setTitle("No connection");
nc.setIcon(R.drawable.ic_launcher);
nc.setMessage("Turn on your connection and then relaunch the app");
nc.setPositiveButton("Retry", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface _dialog, int _which) {
i.setClass(getApplicationContext(), SplashActivity.class);
startActivity(i);
}
});
nc.setNegativeButton("Close App", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface _dialog, int _which) {
finish();
}
});
nc.create().show();
}
};
}
当对话框出现时,它必须使 350x100
当我单击对话框周围的屏幕时,它会删除
我想知道是否可以在显示对话框时移除对话框周围的触摸?
解决方案
试试这个:dialog.setCanceledOnTouchOutside(false);
。它仍然允许您使用后退按钮取消对话框,但它会阻止对话框在触摸它周围时关闭。
编辑
在您的代码中,您应该nc.create().show();
将末尾更改为:
AlertDialog alertDialog = nc.create();
alertDialog.setCanceledOnTouchOutside(false);
alertDialog.show();
推荐阅读
- php - 在 PHP 中添加 23 小时 59 分钟作为 unix 时间戳
- c# - 在 C# Winform 中使用 OpenFileDialog 时如何获取临时文件名
- dynamics-crm - Dynamics Crm 在视图中插入图像
- python - 将包含 Pandas DataFrame 中列表列表的单元格解压缩到新 DataFrame 的单独行和列中
- java - 如何为 VBox 的子级设置不同的高度
- r - 并非所有带有 addPolylines 的空间线都显示在 Leaflet 中
- javascript - 自动检查日期复选框
- c - ipset - 如何将所有 setnames 添加到 C 中的数组中,例如 shell 命令:“ipset --list -n”
- django - Postgresql 由于并发更新而无法序列化访问,如何找出原因
- powershell - 如何使用 UiPath 将参数传递给 Powershell 脚本