1.1 项目效果如图:

gif


1.2 需要使用到的技术

  ViewDragHelper: 要实现和QQ5.0侧滑的特效,需要借助谷歌在2013I/O大会上发布的ViewDragHelper类,提供这个类目的就是为了解决拖拽滑动问题

 

1.3 侧滑菜单的实现方式

1. SlidingMenu 第三方库

2. DrawerLayout v4包中的类

3. 自定义控件 

 

1.4 一些回调方法

- tryCaptureView: 用来决定是否可以拖动
- clampViewPositionHorizontal: 用来设置子控件将要显示的位置 [限制子控件拖动的范围]
- getViewHorizontalDragRange:返回水平方向拖动的最大范围,返回大于0的值才可以拖动 
- onViewPositionChanged: 位置改变时调用 [关联菜单与主界面的滑动,监听拖动状态,伴随动画]
- onViewReleased: 拖动结束后,松开手时调用 [平滑地打开或关闭侧滑菜单]

 

二、项目实现

2.1 创建DragLayout