1
我在窗体上显示视频,但视频始终伸展到正方形。我无法控制任何视频组件来获取它的真实尺寸。这是显示视频的代码:如何在codenameOne中显示正确尺寸的视频?
imageVideoContainer = new Container(new BorderLayout(BorderLayout.CENTER_BEHAVIOR_SCALE)) {
protected Dimension calcPreferredSize() {
return new Dimension(Display.getInstance().getDisplayWidth(), Display.getInstance().getDisplayWidth());
}
};
media = MediaManager.createMedia(FileSystemStorage.getInstance().getAppHomePath() + movePath, true);
mp = new MediaPlayer(media);
mp.setAutoplay(true);
imageVideoContainer.add(BorderLayout.CENTER, mp);
container = new Container(new BoxLayout(BoxLayout.Y_AXIS));
container.add(BorderLayout.centerAbsolute(imageVideoContainer));
如果我不覆盖calcPreferredSize,它根本不显示。任何帮助赞赏。我试过调试,以查看媒体播放器,以获得有一个大小,但无法找到任何东西。
这将适用于风景视频,但不幸的是不肖像。 – Karry
不需要。在您旋转强制重新安排层次结构的设备后,此功能会有效。所以你会开始在景观中使用肖像,然后当你旋转时它会再次工作。视频播放开始后,尝试在组件上调用setShouldCalcSize(true),然后重新验证()。 –