1:什么是Layout?
(1)Layout:界面布局,为应用程序提供界面结构
(2)控制Activity中空间的大小、位置、颜色等属性的方法
2:Layout与ViewGroup之间的关系
(1)ViewGroup是一个容器,而这个容器是继承于View的。
(2)ViewGroup是一个基类,并且是Layout和一些组件的基类。
3:Layout实现方式
(1)通过XML布局文件实现控件布局
(2)通过Java代码实现控件布局
4:Layout的种类
(1)FrameLayout:children按照从左上开始的顺序排列,主要用于tabed view或者图片切换功能;最简单的布局模型,在这种布局下每个添加的子控件都被放在布局的左上角,并覆盖在前一子控件的上层。
(2)线性布局(LinearLayout):children排列成一行多列或者一列多行的形式,应该是应用程序中最常用的布局方式,它提供了控件水平或者垂直排列的模型,同时我们可通过设置子控件的weight布局参数控制各个控件在布局中的相对大小。(常用)
(3)相对布局(RelativeLayout):children是相互之间相关位置或者和他们的parent位置相关,参照控件可以是父控件,也可以是其他子控件,但被参照的控件必须要在参照它的控件之前定义。相对布局模型所涉及的属性设置比较多,但并不复杂。(常用)
(4)TableLayout:children按照行列的排序,类似于html的table;模型以行列的形式管理子控件,每一行为一个TableRow的对象,也可为一个View的对象。TableRow可添加子控件,每添加一个子控件为一列。
(5)坐标布局(AbsoluteLayout)的子控件需要指定相对于此坐标布局的横、纵坐标值,否则将会像FrameLayout那样被排在左上角。手机应用需要适用于不同的屏幕大小,而这种布局模型不能自适应屏幕尺寸大小,所以应用得相当少。
5:编写XML布局文件
(1)每一个Layout布局文件有且只有一个跟标签(元素),必须为View或ViewGroup对象
(2)在跟标签下,添加子元素,并逐渐建立一个View层次来定义你的Layout。