解决ViewPager里面包含一个HorizontalScrollVIew触摸冲突问题

来源:互联网 发布:歌词星星知我心呐 编辑:程序博客网 时间:2024/05/16 10:01

问题:ViewPager里面包含一个HorizontalScrollVIew,ViewPager左右滑动时能够切换Activity,但是HorizontalScrollVIew无法滚动。因此特别写了个详细的方法供大家参考参考,具体如下:

1.自定义一个继承ViewPager的类,如CustomViewPager(例如,在com.eoeandroid.widget 包中创建该类)

  1. package com.eoeandroid.widget;

  2. import android.content.Context;
  3. import android.support.v4.view.ViewPager;
  4. import android.util.AttributeSet;
  5. import android.view.View;
  6. import android.widget.HorizontalScrollView;

  7. public class CustomViewPager extends ViewPager {
  8.         public CustomViewPager(Context context) {
  9.                 super(context);
  10.         }

  11.         public CustomViewPager(Context context, AttributeSet attrs) {
  12.                 super(context, attrs);
  13.         }

  14.         @Override
  15.         protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) {
  16.                 if (v instanceof HorizontalScrollView) {
  17.                         return true;
  18.                 }
  19.                 return super.canScroll(v, checkV, dx, x, y);
  20.         }
  21. }
2.在XML中引用定义好的CustomViewPager,如:

  1. <com.eoeandroid.widget.CustomViewPager
  2.             android:id="@+id/vPager"
  3.             android:layout_width="wrap_content"
  4.             android:layout_height="wrap_content"
  5.             android:layout_gravity="center"
  6.             android:layout_weight="1.0"
  7.             android:flipInterval="30"
  8.             android:persistentDrawingCache="animation" />
3.在Java代码中直接引用CustomViewPager 即可

阅读全文
0 0