我正在使用[YouTubePlayerFragment][1]
将嵌入式youtube视频功能添加到android应用中。视频预览(缩略图)使用 fragment 显示,该 fragment 是回收者 View 的单元格的一部分。点击该单元格可以激活视频播放(任何地方,不仅是 fragment ),并且效果很好,可以激活视频播放。不幸的是, fragment 本身会拦截所有触摸,并且不允许我在 fragment 点击时激活视频。
我试图将其添加到单元根android:clickable="true"
并设置触摸监听器-事件不发生。
我还尝试在 fragment View (fragment.View.setOnTouchListener
)上设置触摸监听器-效果相同,事件不会发生。
如何截获 fragment 拍子并执行我的自定义代码?
p.s.我尝试过YouTubeThumbnailView
,但对我来说不起作用,因为播放视频的唯一机会是使用YouTubeStandalonePlayer
和intent,这会激活新 Activity ,而我想保持当前 Activity 状态而无需上下文切换。
最佳答案
通过将YouTubePlayerFragment放在自定义的LinearLayout中,我可以使其工作:
public class TouchEventLayout extends LinearLayout {
public TouchEventLayout(Context context) {
super(context);
}
public TouchEventLayout(Context context, AttributeSet attrs) {
super(context, attrs, 0);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return super.onInterceptTouchEvent(ev);
}
}