Codename One - 缩放,居中和裁剪视频以强制它占据所有屏幕

时间:2018-03-16 00:00:57

标签: codenameone

我在center的{​​{1}}中有一个带有BorderLayout选项的简介视频。在顶部我有一个标识,在南方我有登录按钮。

我编写类似下面的代码,根据设备的旋转选择正确的视频。我测试过视频会自动缩放到可用空间:在我测试的智能手机(Android和iPhone型号)中,视频覆盖了所有屏幕区域(因为视频长度和高度与屏幕长度和高度成正比) 。这很好,这正是我想要的。

然而,可能有智能手机的屏幕尺寸与我测试的不同。此外,所有平板电脑都具有与智能手机不同的屏幕尺寸比率。

我需要视频总是占据所有屏幕区域。如有必要,它应自动缩放,居中和裁剪以占据整个屏幕。

我没有在Codename One API中找到实现此用例所需的内容。我可以使用什么代码?我的目标设备是Android和iOS设备(智能手机和平板电脑)。

代码示例:

BorderLayout.CENTER_BEHAVIOR_TOTAL_BELOW

1 个答案:

答案 0 :(得分:1)

网站通常根据服务器上的设备比例生成视频下载/流(使用ffmpeg等工具。然后提供具有正确宽高比,比特率和格式的视频。

在Codename One中没有用于裁剪视频的内置功能,类似于“适合”比例。

但是,如果您可以裁剪侧面或顶部,那么您可以根据您对视频尺寸和屏幕尺寸的了解,为视频组件创建自己的布局管理器并定位/调整大小。创建布局管理器非常简单,它主要是实现layoutContainer方法的工作,您可以在其中设置组件的X / Y /宽度/高度。见https://www.codenameone.com/blog/map-layout-update.html