文档章节

Android ScrollView滑动事件和子控件点击事件冲突

暖冰
 暖冰
发布于 2016/12/25 13:27
字数 210
阅读 1031
收藏 0

问题描述:

父控件是一个ScrollView,然后上面排满了按钮,类似于支付宝

这样,按钮都有onclick事件,这样滑动的时候如果接触点在按钮上,ScrollView就滑不动了。

解决方案是重写ScrollView 的onInterceptTouchEvent方法:

public class PersonScrollView extends ScrollView{

    public PersonScrollView(Context context) {
        super(context);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        if (ev.getAction() == MotionEvent.ACTION_MOVE) {
                return true;
        }
        return false;
    }
}

原理很简单,就是事件在响应链里面是一直传递到叶子控件才进行处理,而在我的这个场景里,触点在按钮上的时候事件的叶子节点就是按钮,所以ScrollView不会响应滑动事件,解决思路就是在滑动事件传递到ScrollView的时候就进行拦截响应,不再往下传递。

© 著作权归作者所有

暖冰
粉丝 51
博文 124
码字总数 116908
作品 1
长沙
程序员
私信 提问
Tips_Android中ScrollView嵌套Listview或Gridview(ZZ)

按照android的标准,ScrollView中是不能嵌套具有滑动特性的View的,但是有时如果设计真的有这样做的需要,或者为了更方便简单的实现外观(比如在外在的大布局需要有滑动的特性,并且内部有类...

mstian06
2014/06/26
0
0
Android进阶知识:事件分发与滑动冲突(一)

1、前言 Android学习一段时间,需求做多了必然会遇到滑动冲突问题,比如在一个ScrollView中要嵌套一个地图View,这时候触摸移动地图或者放大缩小地图就会变得不太准确甚至没有反应,这就是遇...

Android进阶开发
04/24
0
0
Android进阶知识:事件分发与滑动冲突(二)

接着看代码块3,在这段很长的代码里,首先一个中判断了该事件是否满足没有被拦截和被取消,之后第二个判断了事件类型是否为,满足了没有被拦截和取消的事件,接下来ViewGroup才会循环其子Vie...

Android进阶开发
04/24
0
0
08.Android之View事件问题

目录介绍 8.0.0.1 简述Android的事件分发机制?dispatchTouchEvent方法的作用是什么?说下View和ViewGroup分发事件? 8.0.0.2 onInterceptTouchEvent方法作用是什么?onTouchEvent的方法的作...

潇湘剑雨
02/14
0
0
Android布局中ScrollView与ListView的冲突的方法

看到网上流行的一种使用方法是 这个太麻烦了,而且效果又不是很明显。 有人的总结如下: 只要在设置ListView的Adapter后调用此静态方法即可让ListView正确的显示在其父ListView的ListItem中。...

无鸯
2011/09/06
16.4K
7

没有更多内容

加载失败,请刷新页面

加载更多

NIO基于长度域的报文在Netty下的解码

1, 先复习一下粘包/拆包 1.1, 粘包/拆包的含义 TCP是个“流”协议, 并不了解上层业务数据的具体含义, 它会根据TCP缓冲区的实际情况进行包的划分,所以在业务上认为,一个完整的包可能会被TCP...

老菜鸟0217
今天
8
0
从零开始搭建spring-cloud(2) ----ribbon

在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。 其实我们已经在上...

Vincent-Duan
今天
17
0
get和post的区别?

doGet:路径传参。效率高,安全性差(get的传送数据量有限制,不能大于2Kb) doPOST:实体传参。效率低,安全性好 建议: 1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Pos...

花无谢
昨天
4
0
当谈论迭代器时,我谈些什么?

当谈论迭代器时,我谈些什么? 花下猫语:之前说过,我对于编程语言跟其它学科的融合非常感兴趣,但我还说漏了一点,就是我对于 Python 跟其它编程语言的对比学习,也很感兴趣。所以,我一直...

豌豆花下猫
昨天
14
0
10天学Python直接做项目,我做了这5件事

初学者如何尽快上手python? 市面上关于如何学python的资料很多,但是讲的都太复杂。 我就是很简单的几句话,从小白到开发工程师,我只做了五件事。 我觉得任何商业计划书如果不能用几句话讲...

Python派森
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部