如何为 android 的画中画模式创建自定义屏幕尺寸?

Posted

技术标签:

【中文标题】如何为 android 的画中画模式创建自定义屏幕尺寸?【英文标题】:How do I create a custom screen size for picture in picture mode for android? 【发布时间】:2019-07-25 09:11:29 【问题描述】:

我正在尝试在我的应用中实现画中画模式,类似于我们在 Whatsapp 中单击 youtube 链接时看到的模式。是否可以在我们的应用中创建类似的视图。

目前我正在让 android 设置我的默认屏幕尺寸。这是代码段:

final PictureInPictureParams.Builder pictureInPictureParamsBuilder =
                new PictureInPictureParams.Builder();
pictureInPictureParamsBuilder.build();
enterPictureInPictureMode(pictureInPictureParamsBuilder.build());

上述代码允许我的视频在一个小的画中画窗口中播放。我想在更大的 pip 屏幕上观看视频。我尝试设置自定义纵横比,但没有一个会增加 pip 窗口的大小。

我该如何解决这个问题?

提前致谢!!

【问题讨论】:

【参考方案1】:

根据 Google 的 sample project,诀窍似乎是将所需的宽度和高度组合设置为 Rational 以与 setAspectRatio 一起使用。

final PictureInPictureParams.Builder pictureInPictureParamsBuilder =
                new PictureInPictureParams.Builder();
Rational aspectRatio = new Rational(width, height);
mPictureInPictureParamsBuilder.setAspectRatio(aspectRatio);
enterPictureInPictureMode(pictureInPictureParamsBuilder.build());

您不需要第二次调用build。无论有没有它,我都看到了相同的结果。

【讨论】:

我尝试在 Google 文档的帮助下编写这段代码,但没有成功。 @PrasannaPunekar 您的代码中的其他地方一定有问题。在发布之前,我确认这适用于“纵向”和“横向”方面。 @PrasannaPunekar:这对你有用吗?我试过了,这个解决方案对我也不起作用:/ @AayushKumar 您可能想自己尝试示例项目,然后向后查找问题所在,因为您的实际问题的答案已经可以在 cmets 中找到。

以上是关于如何为 android 的画中画模式创建自定义屏幕尺寸?的主要内容,如果未能解决你的问题,请参考以下文章

如何在画中画模式下创建自定义布局?

如何为 AVD 管理器创建自定义 Android 设备配置文件?

如何为android中每个不同的屏幕尺寸定义dimens.xml?

如何为android中的所有视图使用相同的自定义字体?

如何为自引用数据层次结构创建 graphql 模式?

如何为 k2 类别创建自定义模板并将此模板分配给 Joomla 支持?