一、概念
LinearLayout 是将其包含的子控件以横向或纵向的方式排列,简单来说就是其子元素被排列成一行或一列。
二、运用
1、布局界面中Design的控件选择部分
2、布局界面中Code设置
垂直排列:android:orientation="vertical"
水平排列:android:orientation="horizontal"
3、布局界面中Design的控件参数设置部分
三、区分
layout_gravity 是指当前控件在父控件里面的摆放位置。
gravity 是针对当前控件里面内容的摆放的。如果是容器,则针对的是容器里面子 view 的摆放;如果是控件,则针对的是控件里面内容的摆放。
可以通过设置 gravity(元素摆放位置)和 layout_gravity(元素相对父控件摆放位置)属性来解决子元素的摆放问题。
举个例子,如下图所示,黑色框为整个布局界面,红色框为某控件,那么layout_gravity可以设置红色框在黑色框里面的位置;如果在红色框里面还有个文本框之类(蓝色)的,那么通过gravity可以设置文本框(蓝色)在红色框里面的位置。
总的来说,可以理解为相对性问题。即虽然二者均为设置位置的方法,但是参照物选取不同。需要注意的是,父控件设置的 gravity 的级别要低于子控件设置的 layout_gravity。
此外,layout_weight 是一个很重要的属性,是用来按比例分配当前控件占用父控件大小的。
四、gravity常用设置