android 开源项目 SlidingMenu

来源:互联网 发布:数据分析师累不累 编辑:程序博客网 时间:2024/05/16 17:27

最近看了下这个项目,关于滑动菜单部分的实现:

SlidingMenu类 继承 RelativeLayout 是此项目的关键之所在,

SlidingMenu 中包含两个子View:

private CustomViewAbove mViewAbove;private CustomViewBehind mViewBehind;

CustomViewAbove  与CustomViewBehind  都是继承自 ViewGroup,CustomViewAbove  用于显示内容,CustomViewBehind  用于显示菜单。

菜单的滑动切换就是 CustomViewAbove  和CustomViewBehind  的移动显示。


CustomViewAbove  中需要关注的两个函数:

public boolean onInterceptTouchEvent(MotionEvent ev) 

public boolean onTouchEvent(MotionEvent ev) 

onInterceptTouchEvent 控制触摸事件是否需要传递给子view进行处理,[如左右切换打开关闭菜单 则不需要传递给子View,在CustomViewAbove  中的onTouchEvent 进行处理]

onTouchEvent 则主要负责对滑动菜单的滑动事件进行处理


View的滑动主要分为  drag 和fling [手指在屏幕上的滑动和不在屏幕上的滑动] ,主要是调用 scroolTo函数实现


原创粉丝点击