android 的大部分UI组件都放在了android.widget包及其子包,android.view包及其子包中。
对android来说android的所有UI组件都是继承至View类。
View有一个特殊的子类ViewGroup,它主要是用来当其他组件的容器。最大的特点是ViewGroup可以包含View和ViewGroup.
由于ViewGroup是一个抽象的类,所以常用它的子类(ViewGroup.LayoutParams,ViewGroup.MarginLayoutParams(Margin和网页里的类似,四周的空白))来作容器。例如:布局管理器。
无论创建什么控件都需要在构造方法中传入一个"this",这个"this"指的是Context(android应用环境信息API)UI控件拥有它后,就能获取当前应用环境的信息。Context本身是一个抽象类,Activity和Service都继承至它,所以Activity,Service的对象都可以当作Context对象使用。
自定义一个View(自定义控件)
论:一个View从xml到显示要调用的构造器
onFinishInflate() 当应用从xml布局文件中加载该组件时被调用。
onMeasure(int,int) 检测当前组件的大小并检测它包含的子控件大小。
onLayout(boolean,int,int,int,int) 当控件需要分配改子控件的位置,大小时被调用。
onSizeChanged(int,int,int,int) 当控件的大小被改变时回调该方法。
onDraw(Canvas) 绘制该组件时回调的方法
还有很多构造器,这几个主要怎么把一个控件从XML显示到界面的。