相关疑难解决方法(0)

onTouchevent()vs onTouch()

在使用onTouchEvent和onTouch进行了多次实验后,我发现onTouch可以在任何地方工作(无论是在活动中还是在视图中),只要您声明了接口并将Listener放在正确的位置即可!另一方面,onTouchEvent仅适用于View!我的假设是否正确?这是真正的区别吗?

android ontouchlistener touch-event

58
推荐指数
3
解决办法
4万
查看次数

Exoplayer 隐藏 PlaybackControlView onClick(不是 onTouch)

我正在 ExoPlayer 之上开发自定义 UI,我注意到控件 ( PlaybackControlView) 在我触摸屏幕时隐藏,而不是在我单击时隐藏。

我想更改为单击并检查如何更改事件侦听器,但到目前为止找不到简单的解决方案。我检查了源代码SimpleExoPlayerView.java,我注意到它实际上是硬编码的:

  @Override
  public boolean onTouchEvent(MotionEvent ev) {
    if (!useController || player == null || ev.getActionMasked() != MotionEvent.ACTION_DOWN) {
      return false;
    }
    if (controller.isVisible()) {
      controller.hide();
    } else {
      maybeShowController(true);
    }
    return true;
  }
Run Code Online (Sandbox Code Playgroud)

到目前为止,我可以想到两种解决方案。一种是更改 ExoPlayer 的源代码,但我不喜欢它,因为每次更新 ExoPlayer 时都必须进行修改。

我能想到的第二个解决方案是简单地尝试自己处理它,例如添加我自己的侦听器,并自己显示和隐藏控件。我还没有尝试过,但似乎有可能。

是否有另一个更好的解决方案,例如覆盖侦听器等?

更新:我通过膨胀 exo_playback_control_view.xml 使用自定义 UI

java android mediacontroller exoplayer

4
推荐指数
1
解决办法
7367
查看次数