防止 Android 活动对话框在外部触摸时关闭

2022-08-31 05:28:19

我有一个活动正在使用 Theme.Dialog 样式,因此它是另一个活动上的浮动窗口。但是,当我在对话框窗口外部单击(在后台活动上)时,对话框将关闭。如何阻止此行为?


答案 1

要防止对话框在后退键时被关闭,请使用此

dialog.setCancelable(false);

并防止对话框在外部触摸时被关闭,请使用此

 dialog.setCanceledOnTouchOutside(false);

答案 2

您实际拥有的是一个活动(即使它看起来像一个对话框),因此,如果您希望在单击后台活动时保持活动处于打开状态,则应从活动调用。setFinishOnTouchOutside(false)

编辑:这仅适用于Android API级别11或更高版本


推荐