自定义View
在没有现成的View,需要自己实现的时候,就是用自定义View,一般继承于自View,SurfaceView等
自定义ViewGroup
自定义ViewGroup一般是利用现有的组件根据特定的布局方式来组成新的组件ViewGroup直接用FrameLayout,LinearLayout,RelativeLayout,ScrollView等基础之上修改
自定义View 主要实现是 onMeasure+onDraw
自定义ViewGroup主要实现是onMeasure+onLayout
自定义View流程
2.1.1自定义属性,获取自定义属性(达到配置效果)
2.1.2onMeasure()方法用于测量计算自己宽高,前提是继承自View,如果是继承自系统已有的TextView,Button,已经给你计算好了宽高
2.1.3onDraw()用于绘制自己的显示(在此之前要清楚自己绘制几部分分开明了)
2.1.4onTouch()用于与用户交互(屏幕互动)
自定义ViewGroup流程
2.1.1自定义属性,获取自定义属性(达到配置效果)
2.1.2onMeasure() 测量方法 for循环测量子View,根据子View的宽高来计算自己的宽高
2.1.3onDraw()用的比较少,如果有绘制需要用dispacthDraw()
2.1.4onLayout()用来摆放子View,前提是不是隐藏
2.1.5一般不直接用ViewGroup而是直接用FrameLayout,LinearLayout,RelativeLayout,ScrollView等基础之上修改