文章目录
源码分析
mScrollX、mScrollY:移动距离
mScrollX、mScrollY是横竖方向的移动距离
View
定义两个可继承属性mScrollX、mScrollY
在draw(Canvas, ViewGroup, long)中,使用mScrollX、mScrollY对canvas进行translate操作和clipRect操作
ViewGroup
继承View,继承mScrollX、mScrollY
在dispatchTouchEvent(MotionEvent event)中,先利用ViewGroup的mScrollX、mScrollY对MotionEvent的位置做偏移(offset)操作,再向子View分发MotionEvent对象
在dispatchDraw(Canvas canvas)中,利用mScrollX、mScrollY对canvas进行clipRect操作
显示控件
继承View,继承mScrollX、mScrollY
不同的显示控件在onDraw(Canvas ca