gpt4 book ai didi

android - 显示 AlertDialog 时暂停 Activity

转载 作者:行者123 更新时间:2023-11-29 02:22:54 25 4
gpt4 key购买 nike

我知道,自 AlertDialog是演示的一部分 Activity , 显示它不会触发 OnPauseActivity .我想要实现的是显示 AlertDialog并以某种方式触发 OnPause呈现 Activity .

OnResume我设置了OnGlobalLayoutListener根据键盘是否可见调整 ScrollView 的位置。但是,如果 AlertDialog是可见的,那么继续监听布局变化并相应地调整 ScrollView 可能没有意义,考虑到“焦点”当前在 AlertDialog 上和 Activity在背景中部分可见。

我知道我可以使用“弹出”样式开始 Activity ,但这不是我想要的;我想用 AlertDialog .

最佳答案

使用另一个 Activity 作为对话。然后它会自动暂停您当前的 Activity 。要以对话框形式启动 Activity ,我在 AndroidManifest.xml 中这样定义它:

<activity android:theme="@android:style/Theme.Dialog" />

在您的 Activity 标签内使用此属性以避免您的对话框出现在最近使用的应用程序列表中

android:excludeFromRecents="true"

如果你想阻止你的对话框/Activity 在用户点击对话框外时被破坏:

在您的 Activity 中使用 setContentView() 之后:

this.setFinishOnTouchOutside(false);

现在,当我调用 startActivity() 时,它显示为一个对话框,当用户按下后退按钮时会显示之前的 Activity 。

请注意,如果您使用的是 ActionBarActivity(或 AppCompat 主题),则需要改用 @style/Theme.AppCompat.Dialog。

关于android - 显示 AlertDialog 时暂停 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54139503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com