解决ViewPager与HorizontalScrollView 冲突

来源:互联网 发布:51软件测试培训 编辑:程序博客网 时间:2024/04/29 17:35
问题:ViewPager里面包含一个HorizontalScrollVIew,ViewPager左右滑动时能够切换Activity,但是HorizontalScrollVIew无法滚动。相当郁闷,百度了下,资料比较少。虽然找了一个比较好的解决方法网址,但是感觉太麻烦了,网址是:http://blog.csdn.net/gzsword/article/details/7259782 。后来,通过重写ViewPager类解决了这个问题。呵呵,解决了这个问题就是爽,因此特别写了个详细的方法供大家参考参考,具体如下:
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 即可


转载 :http://www.eoeandroid.com/thread-262921-1-32.html
原创粉丝点击