【问题标题】:Catch BackButton inside Custom View在自定义视图中捕获 BackButton
【发布时间】:2012-10-12 20:06:18
【问题描述】:

我想在用户按下返回按钮时报告视频位置。视频在作为 SDK 一部分的自定义视图实现中播放。所以我无法访问 Activity 的 backButtonPressed 方法。

我尝试了 dispatchKeyEvent,但它需要聚焦视图。这不应该是必要的。

自定义 View 实现 FrameLayout 并添加一个 VideoView 的实例,如果它需要播放视频。

有没有办法在这样的自定义视图中捕捉后退按钮按下?

谢谢大家,

【问题讨论】:

  • Custom View implementation which is a part of SDK 什么?
  • dispatchKeyEvent 用于将密钥发送到视图时。 onKey* 是拦截键

标签: android view back-button custom-view


【解决方案1】:

您可以使用 onWindowVisibilityChangedonDetachedFromWindow 等窗口事件来处理暂停和报告视频位置。查看setSystemUiVisibility 文档中的第二个示例。

【讨论】:

  • 感谢您的回复,我使用了 onWindowsVisibilityChanged 但除此之外,我还扩展了 VideoView 并自定义了其 onWindowVisibilityChanged 方法,因为 VideoView 的 onWindowsVisibilityChanged 在 VideoView 的父视图 onWindowsVisibilityChanged 之前运行,这是我需要获取流的地方位置。我清空了 VideoView 的 onWindowVisibilityChanged 方法,并在获取父视图的 onWindowVisibilityChanged 处理程序中的位置后手动调用它。它很复杂而且不好但是很有效:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多