ViewPager上的MotionEvents

时间:2013-02-05 14:47:10

标签: android android-viewpager

我有一个ViewPager显示一些媒体(视频,图像和文本片段)。对于图像,当您点击图像时,应显示文本。对于视频,点击显示mediacontrols。

问题是,在图像(我自己实现了onTouch事件)和videoView(具有mediacontrols的内部手势管理)的情况下,当我滑到下一页或上一页时,点击事件被携带对于片段,文本显示在图像中,并且媒体控件显示出来(即使视频不再显示,它们甚至会停留)。

我该如何避免这种行为?

1 个答案:

答案 0 :(得分:1)

发现如果ViewPager中有ScrollView并且您希望它始终保持焦点,当您触摸它并且ScrollView永远不会聚焦时,这一点。

mViewPager = (ViewPager)findViewById(R.id.pager);
mViewPager.setAdapter(adapter);
mViewPager.setOnTouchListener(new View.OnTouchListener() {
   @Override
   public boolean onTouch(View v, MotionEvent event) {
      mViewPager.getParent().requestDisallowInterceptTouchEvent(true);
      return false;
   }
});