您现在的位置: 爱51代码网 >> 范文 >> 文章正文
android怎样才能让在ViewPager进行滑动时ScrollView不滚动

在滑动ViewPager进行切换时,必须完全保持水平的滑动。如若进行滑动的时候滑动方向发生了倾斜,就会触发ScrollView的滚动事件,而ViewPager的滑动也会终止并变回原来的样子。

怎样才能让在ViewPager进行滑动时ScrollView不滚动。

试过重写ScrollView的onTouchEvent,但是没有效果。

这个问题我也遇到了,没找到好的办法,最后我把ScrollView删了,如果一定要保留的话建议用GroupView实现

package com.zp365.view;   import android.content.Context; import android.util.AttributeSet; import android.view.GestureDetector; import android.view.GestureDetector.SimpleOnGestureListener; import android.view.MotionEvent; import android.view.View; import android.widget.ScrollView;   /**  * 解决ScrollView嵌套ViewPager出现的滑动冲突问题  */public class ScrollView1 extends ScrollView {     private boolean canScroll;       private GestureDetector mGestureDetector;     View.OnTouchListener mGestureListener;       public ScrollView1(Context context, AttributeSet attrs) {         super(context, attrs);         mGestureDetector = new GestureDetector(new YScrollDetector());         canScroll = true;     }     @Override    public boolean onInterceptTouchEvent(MotionEvent ev) {         if(ev.getAction() == MotionEvent.ACTION_UP)             canScroll = true;         return super.onInterceptTouchEvent(ev) && mGestureDetector.onTouchEvent(ev);     }       class YScrollDetector extends SimpleOnGestureListener {         @Override        public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {             if(canScroll)                 if (Math.abs(distanceY) >= Math.abs(distanceX))                     canScroll = true;                 else                    canScroll = false;             return canScroll;         }     } }


用这个自定义的ScrollView代替原来的ScrollView就行

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    GIS用百度行政区域的经纬度直接画
    不小心卸载了.net 4 extend,vs2
    C#byte【】里的数转换成string时
    C#的session取不到值
    java如何判断一个字符串里的数字
    随机找出24个不一样的字,在把一
    java怎么实现html转为pdf
    lotus数据列表文档个数如何实时统
    lotus代理中LS如何将字符串保存到
    在lotus BS系统里怎样方便实现统
    GIS用百度行政区域的经纬度直接画
    不小心卸载了.net 4 extend,vs2
    C#byte【】里的数转换成string时
    C#的session取不到值
    java如何判断一个字符串里的数字
    java怎么实现html转为pdf
    lotus数据列表文档个数如何实时统
    在lotus BS系统里怎样方便实现统
    undefined reference timer_crea
    linux文件/usr/lib破坏了,还原后
    android怎么保存图片在相册目
    progurad之后程序无法运行闪
    android的apk下载到手机内存
    android的LongListSelector如
    json在客户端和服务器端传中
    如何在代码中动态改变radioB
    用什么工具开发android游戏最
    Release模式下如何打开指定驱
    生成了vxbusrcmdline.c等,c
    android button按键 短按men
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |