简单使用

线性布局,顾名思义,就是呈线性排布的布局,可分为横竖两个方向。

示例:

  1. {
  2. LinearLayout;
  3. layout_width = "fill",
  4. layout_height = "fill",
  5. }

上述代码即创建一个充满你屏幕的LinearLayout

一般默认呈竖型排布,你可以手动设置它

  1. {
  2. LinearLayout;
  3. layout_width = "fill",
  4. layout_height = "fill",
  5. orientation = "vertical",--vertical 垂直,horizontal 水平
  6. }

控制位置

很多时候我们需要设置布局内控件的位置,例如居中,底部居中等,这时候我们就需要用到gravitylayout_gravity

  • gravity是针对当前控件里面内容的摆放,如果是容器,则针对的是容器里面子view的摆放;如果是控件,则针对的是控件里面内容的摆放。
  • layout_gravity是指当前控件在父控件里面的摆放位置,不过需要注意的一点是父控件设置的gravity的级别要低于子控件设置的layout_gravity
gravity的取值有top,left,bottom,right,center等,你还可以使用|进行组合,比如top|left,left|center

示例:

  1. {
  2. LinearLayout;
  3. layout_width = "fill",
  4. layout_height = "fill",
  5. orientation = "vertical",
  6. gravity="center",
  7. }

权重

有时候你需要将子布局的宽高设置成父布局的一半,三分之一,甚至八分之一,这时候就需要权重属性layout_weight帮你了。

简单来说就是按比例来分配控件占用父控件的大小。

LinearLayout有一个权重数量的标记:weightSum。在LinearLayout中没有声明weightSum时,默认的就是各个控件权重的总和。

示例:

  1. {
  2. LinearLayout;
  3. layout_width = "fill",
  4. layout_height = "fill",
  5. orientation = "horizontal",
  6. {
  7. TextView;
  8. layout_height="fill",
  9. layout_weight="1",
  10. background=0xff0090c3,
  11. padding="5dp",
  12. text="left",
  13. },
  14. {
  15. TextView;
  16. layout_height="fill",
  17. layout_weight="1",
  18. background=0xff598f1d,
  19. padding="5dp",
  20. gravity="center",
  21. text="right",
  22. }
  23. }

线性布局-LinearLayout - 图1

常用属性及方法

线性布局-LinearLayout - 图2

线性布局-LinearLayout - 图3

子元素常用属性及方法

线性布局-LinearLayout - 图4