Codenameone 播放过程中或播放结束时点击视频后的自定义操作

Codenameone 播放过程中或播放结束时点击视频后的自定义操作,codenameone,Codenameone,我的用例:我有一个视频预览的图像。当用户点击预览时,视频应该开始全屏播放(我想是另一种形式)。当视频结束或用户在播放过程中点击视频时,应显示上一个表单。这是问题的相同用例: 我的问题是:MediaPlayer类似乎没有像本用例所要求的那样,在按下视频或视频结束时公开执行自定义操作的方法。MediaPlayer是一个对等组件,因此我不确定尝试使用按钮作为引导组件是否有意义在点击后执行操作。有什么想法吗?不幸的是,媒体在这个意义上是相当复杂的。您可以依赖媒体播放器的行为,该行为可以无缝地处理方向更改

我的用例:我有一个视频预览的图像。当用户点击预览时,视频应该开始全屏播放(我想是另一种形式)。当视频结束或用户在播放过程中点击视频时,应显示上一个表单。这是问题的相同用例:


我的问题是:
MediaPlayer
类似乎没有像本用例所要求的那样,在按下视频或视频结束时公开执行自定义操作的方法。
MediaPlayer
是一个对等组件,因此我不确定尝试使用按钮作为引导组件是否有意义在点击后执行操作。有什么想法吗?

不幸的是,媒体在这个意义上是相当复杂的。您可以依赖媒体播放器的行为,该行为可以无缝地处理方向更改、播放等(搜索等)。或者,您可以在媒体对象中自行实现所有功能,在这种情况下,您可以使用本机对等覆盖,并在媒体视图顶部有一个透明组件,该组件将捕获所有单击

前者将提供更原生的UX,并自动旋转UI,但我们无法控制,因为UI的底层没有
表单。当您调用
setNativePlayerMode(true)
时,会显示该参数。在这种情况下,当您点击视频时,它会暂停。要退出播放,您将使用设备本机键,例如“后退”或“完成”按钮,并将返回到父级
表单
。请注意,由于这是本机行为,它在设备上的行为不同,因此在此处进行设备测试非常重要

您可以选择在屏幕中央放置媒体组件,然后覆盖所有内容并自定义所有内容。您可以在顶部放置分层布局并抓取所有点击事件。您需要添加自己的进度、播放、暂停等UI元素。用户需要实际旋转设备,因为方向无法自行切换(大部分情况下)