zoukankan      html  css  js  c++  java
  • (四十九)android解决同一个界面上ScrollView和 ListView等可滚动控件滚动冲突问题

    如下代码所示:

    其中 scrollView 为外层的大的scrollView 控件。

    lv为嵌在ScrollView中的可触摸的listView控件

    1. //       重写onTouch()事件,在事件里通过requestDisallowInterceptTouchEvent(boolean)方法来设置父类的可用性,true表示父类的滚动不可用, false表示父类可以滚动 
    2.  //解决listView的touch事件和scrollView的touch事件冲突问题  

    lv.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub boolean result = false; switch (event.getAction()) { case MotionEvent.ACTION_DOWN: lastX = event.getX(); lastY = event.getY(); break; case MotionEvent.ACTION_MOVE: int distanceX = (int) Math.abs(event.getX() - lastX); int distanceY = (int) Math.abs(event.getY() - lastY); if (distanceX > distanceY && distanceX > 10) { sorollView.requestDisallowInterceptTouchEvent(true); } break; case MotionEvent.ACTION_UP: sorollView.requestDisallowInterceptTouchEvent(false); break; default: break; } return result; } });
  • 相关阅读:
    [NOIP模拟赛][贪心]奶牛晒衣服.
    BZOJ3750: [POI2015]Piecz
    BZOJ2348 [Baltic 2011]Plagiarism
    高精度乘法【高乘高
    codevs 1215 迷宫
    变量交换
    a+b问题与圆柱体表面积的计算
    算数表达式的练习
    [bzoj1070][SCOI2007]修车[ 网络流]
    [bzoj2502]清理雪道[上下界网络流]
  • 原文地址:https://www.cnblogs.com/fuyanan/p/4342320.html
Copyright © 2011-2022 走看看