我有一个正在使用主题的活动。对话框样式,使其成为另一个活动上方的浮动窗口。但是,当我在对话框窗口外(在后台活动上)单击时,对话框关闭。我怎样才能阻止这种行为?
当前回答
对于API > 11使用setFinishOnTouchOutside(false),不要担心,因为它是android的默认行为,活动主题对话框不会在API < 11的外部触摸中完成:)!!
其他回答
将对话框可取消设置为false就足够了,并且您可以在警报对话框外触摸或单击后退按钮将使警报对话框消失。所以就用这个吧:
setCancelable(假)
另一个函数不再需要了: dialog.setCanceledOnTouchOutside(假);
如果你正在创建一个临时对话框,并想把这行代码放在那里,下面是一个例子:
new AlertDialog.Builder(this)
.setTitle("Trial Version")
.setCancelable(false)
.setMessage("You are using trial version!")
.setIcon(R.drawable.time_left)
.setPositiveButton(android.R.string.yes, null).show();
简单地说,
alertDialog.setCancelable(false);
防止用户在对话框外单击。
警告对话框已弃用,因此使用对话框对话框=新对话框(此);
防止外界接触
dialog.setCanceledOnTouchOutside(false);
alert.setCancelable(false);
alert.setCanceledOnTouchOutside(false);
我想这对你有帮助。这对我很管用
在jetpack组合中,使用遣散onclickoutside = false属性来防止关闭。
AlertDialog(
title = {
Text("Title")
},
text = {
Text(text = name)
},
onDismissRequest = onDismiss,
confirmButton = {
TextButton(onClick = onDismiss ) {
Text("Yes")
}
},
dismissButton = {
TextButton(onClick = onDismiss ) {
Text("Cancel")
}
},
properties = DialogProperties(
dismissOnClickOutside = false
)
)
}
推荐文章
- 转换列表的最佳方法:map还是foreach?
- 如何分割逗号分隔的字符串?
- Java字符串—查看字符串是否只包含数字而不包含字母
- 如何隐藏动作栏之前的活动被创建,然后再显示它?
- Mockito.any()传递带有泛型的接口
- 在IntelliJ 10.5中运行测试时,出现“NoSuchMethodError: org.hamcrest. matcher . descripbemismatch”
- 是否有一种方法以编程方式滚动滚动视图到特定的编辑文本?
- 使用String.split()和多个分隔符
- Java数组有最大大小吗?
- 在Android中将字符串转换为Uri
- 从JSON生成Java类?
- 为什么java.util.Set没有get(int index)?
- Swing和AWT的区别是什么?
- 如何在NestedScrollView内使用RecyclerView ?
- 为什么Java流是一次性的?