如何检测弹出窗口中的图片已关闭(向下拖动以关闭)?

Posted

技术标签:

【中文标题】如何检测弹出窗口中的图片已关闭(向下拖动以关闭)?【英文标题】:How to detect picture in popup dismissed (drag down to dismiss)? 【发布时间】:2020-06-11 05:40:16 【问题描述】:

我们正在使用带有画中画(pip)功能的通话页面。

问题: 如果用户关闭 pip 弹出窗口(通过向下拖动关闭)我们无法检测到。

如何检测图片窗口中的图片下拉关闭?

更新: 设置画中画

// RemoteRenderLayout -> call preview layout. You can set anyone view
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) 

    Rational aspectRatio = new Rational(
        remoteRenderLayout.getWidth(), remoteRenderLayout.getHeight());
    PictureInPictureParams params = new PictureInPictureParams.Builder()
        .setAspectRatio(aspectRatio)
        .build();
    enterPictureInPictureMode(params);

else

    enterPictureInPictureMode();

【问题讨论】:

"pip 弹出窗口" 你是什么意思?您用于创建它的 android api 的具体部分。提供您必须创建的代码,然后我们可能会提供帮助。 "pip popup window" -> 画中画窗口(小方块)官方文档 - developer.android.com/guide/topics/ui/picture-in-picture@MarianPaździoch @Ranjith - 你能提供一些代码来审查一些经过尝试的方法来实现期望的结果..? @MarioBoss 问题已更新为示例代码 【参考方案1】:

当activity进入或退出画中画模式时,系统调用Activity.onPictureInPictureModeChanged()Fragment.onPictureInPictureModeChanged().

您可以在其中实现您的代码:

 override fun onPictureInPictureModeChanged(isInPictureInPictureMode: Boolean,
                                           newConfig: Configuration) 
    if (isInPictureInPictureMode) 
        // Hide the full-screen UI (controls, etc.) while in picture-in-picture mode.
     else 
        // Restore the full-screen UI.
    

【讨论】:

以上是关于如何检测弹出窗口中的图片已关闭(向下拖动以关闭)?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ObjectC 向下拖动以关闭模式

在 iOS8 中检测弹出框关闭

如何检测弹出框关闭

鼠标拖动文字或者图片,浏览器自动新建页面打开。如何关闭此功能!

如何在wpf中为关闭弹出窗口创建圆形十字按钮?

检测用户是不是点击了弹出窗口中的元素