我在center
的{{1}}中有一个带有BorderLayout
选项的简介视频。在顶部我有一个标识,在南方我有登录按钮。
我编写类似下面的代码,根据设备的旋转选择正确的视频。我测试过视频会自动缩放到可用空间:在我测试的智能手机(Android和iPhone型号)中,视频覆盖了所有屏幕区域(因为视频长度和高度与屏幕长度和高度成正比) 。这很好,这正是我想要的。
然而,可能有智能手机的屏幕尺寸与我测试的不同。此外,所有平板电脑都具有与智能手机不同的屏幕尺寸比率。
我需要视频总是占据所有屏幕区域。如有必要,它应自动缩放,居中和裁剪以占据整个屏幕。
我没有在Codename One API中找到实现此用例所需的内容。我可以使用什么代码?我的目标设备是Android和iOS设备(智能手机和平板电脑)。
代码示例:
BorderLayout.CENTER_BEHAVIOR_TOTAL_BELOW
答案 0 :(得分:1)
网站通常根据服务器上的设备比例生成视频下载/流(使用ffmpeg等工具。然后提供具有正确宽高比,比特率和格式的视频。
在Codename One中没有用于裁剪视频的内置功能,类似于“适合”比例。
但是,如果您可以裁剪侧面或顶部,那么您可以根据您对视频尺寸和屏幕尺寸的了解,为视频组件创建自己的布局管理器并定位/调整大小。创建布局管理器非常简单,它主要是实现layoutContainer
方法的工作,您可以在其中设置组件的X / Y /宽度/高度。见https://www.codenameone.com/blog/map-layout-update.html