自定义ViewGroup 实现拖动跟快速滚动的效果
之前做到个项目要类似listView或者GridView中的控件移动的效果(主屏上所有程序列表上的效果):
1:子控件跟着手指移动
2:快速拨动一下,根据拨动的速度 滑动过去
3:拖过头,放手后弹回去
但是用listView或者GridView又不好实现项目要求的其他效果..于是继承viewGroup实现以上效果。
既然要获取拨动速度,并以此滑动。首先想到了OnGestureListener 这个接口,实现这个接口并实现其onFling方法.
还要控制拖动。重写onTouchEvent方法,并在其中控制内容控件的拖动,反弹等效果
这时候基本已经完成了。。。。测试了一下了,发现了一个问题,当手指点在viewGroup上
进行 拖动是没问题的,但是在子控件上就不行了,这是事件响应的问题 那么还要做如面的处
理:实现onInterceptTouchEvent方法,判断是拖动事件时 ,将事件传递下去。
好了,代码就不在上面贴了,如果有需要可以下载附件。 多谢阅读