自定义属性
onMeasure
onLayout (ViewGroup)父控件决定子空间位置
onDraw
onTouchEvent dispatchTouchEvent
onInterceptTouchEvent (ViewGroup)
attrs context.obtainStyledAttributes(attrs,R.styleable))
MeasureSpec : mode+size
mode: EXACTLY 确定值 AT_MOST wrap_content+match_parent UNSPECIFIED: listview scrollview
setMeasuredDimension 设置
requestLayout 重写布局 调用onLayout onMesure
invalidate(UI线程) postInvalidate(子线程) onDraw
canvas paint path translate rotate scale skew save restore
ACTION_DOWN ACTION_UP ACTION_MOVE ACTION_POINTER_DOWN ACTION_POINTER_UP
VelocityTracker
parent.requestDisallow
interceptTouchEvent true拦截 false下放
onSaveInstanceState onRestoreInstanceState
ViewConfiguration (mTouchSlop)
ScaleGestureDetector
ViewDragHelper