Android:如何在 PIP 模式下显示 AlertDialog?

Posted

技术标签:

【中文标题】Android:如何在 PIP 模式下显示 AlertDialog?【英文标题】:Android: How to show AlertDialog in PIP mode? 【发布时间】:2021-08-02 17:06:15 【问题描述】:

每当出现错误时,我们都会显示 AlertDialog 以通知用户。但是在 PIP 模式下,此对话框会在 PIP 窗口中呈现,如附加的屏幕截图所示。有什么方法可以在 PIP 窗口外显示正确的警报 AlertDialog 吗?

【问题讨论】:

【参考方案1】:

我在退出 pip 并在显示对话框时返回主活动时遇到了类似的问题。当用户回到应用程序时,对话框被放大并且用户无法关闭对话框(他需要来回关闭它)。我找到了解决问题的简单方法(希望对您的情况也有帮助) 您需要做的是调整对话框的边界。

当你创建 AlertDialog 或 DialogFragment 时覆盖 onShow() 函数

@Override
public AlertDialog show() 
   AlertDialog dialog =  super.show();

   int width =  WindowManager.LayoutParams.WRAP_CONTENT;
   int height =  WindowManager.LayoutParams.WRAP_CONTENT;

   dialog.getWindow().setLayout(width, height);

   return dialog;

【讨论】:

以上是关于Android:如何在 PIP 模式下显示 AlertDialog?的主要内容,如果未能解决你的问题,请参考以下文章

OnePlus (Android 10) - 在 PIP 模式下主屏幕冻结

android pip 模式和活动导航

Android O ——— 画中画模式(PIP)初步使用总结

Android PiP 模式和应用生命周期

在Android的画中画模式下检测关闭和最大化点击事件

如何在横向模式下显示 android 启动画面?