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; } });
  • 相关阅读:
    317 随笔
    316 随笔
    315 随笔
    python 第一章
    matlab 第四章 第一节 字符串 元胞
    matlab 第三章 第二节 多维数组
    matlab 第三章
    python 循环+break continue
    Springboot 教程 导入
    matlab 第二章 第三节 数值表示、变量及表达式
  • 原文地址:https://www.cnblogs.com/fuyanan/p/4342320.html
Copyright © 2011-2022 走看看