整个视图分为3个部分,左边上下滑动的列表,右侧上部左右滑动的线性布局,右侧下部上下左右都能滑动的列表。
根容器拦截所有子View的触摸事件,当触摸事件处于左侧上下滑动的列表区域,同时把这个触摸事件分发给右侧下部的列表,这样保持两个列表上下同步滑动;
当触摸事件处于右侧上部的线性布局区域,则把触摸事件分发给右侧横向滑动的HorizontalScrollView,该线性布局并没有获得触摸事件,
HorizontalScrollView会拦截所有触摸事件,不分发给子View,保持右侧上部和右侧下部左右同步滑动;
当触摸事件处于右侧下部的列表,则把触摸事件分发给左侧的列表和右侧的HorizontalScrollView,该列表也或得触摸事件,这样左右滑动的时候与右侧上部
的线性布局同步,上下滑动的时候与左侧的列表同步。
本工程只是实现简单的效果,具体的业务逻辑自己扩展。
参考文章:https://www.jianshu.com/p/3d7a86dc79b6
代码工程:https://github.com/menghuansanlang/ExcelView/
网友评论