【Android】之 布局

来源:互联网 发布:耶稣基督赞美网络诗歌 编辑:程序博客网 时间:2024/06/02 05:32

参考资料:https://developer.android.com/guide/topics/ui/declaring-layout.html




一、相对布局(RelativeLayout)


(1)属性

  • 组件默认左对齐、顶部对齐
  • 设置组件在指定组件的右边

     android:layout_toRightOf="@id/tv1"
  • 设置在指定组件的下边

    android:layout_below="@id/tv1"
  • 设置右对齐父元素

    android:layout_alignParentRight="true"
  • 设置与指定组件右对齐

     android:layout_alignRight="@id/tv1"

这里写图片描述
这里写图片描述

(2)应用场景

(1) 允许指定子View控件彼此之间的关系




二、线性布局(LinearLayout)


(1)属性

  ① 指定各个节点的排列方向

    android:orientation="horizontal" // 水平布局    android:orientation="vertical"  // 垂直布局

这里写图片描述


  ② 设置右对齐

    android:layout_gravity="right"

这里写图片描述


  ③ 当水平布局(horizontal)时,只能顶部底部对齐和竖直居中

即:水平布局(horizontal)时, 只能使用center_vertical,不能使用center_horizontal。
                   只能使用top, bottom,不能left right

Tips : 使用 match_parent 时注意不要把其他组件顶出去

这里写图片描述
这里写图片描述


  ④ 权重(按比例分配剩余的空间)

android:layout_height 均设置为 “0dp”(对于垂直布局),
或将每个视图的android:layout_width 均设置为 “0dp”(对于水平布局)

    android:layout_weight="1"

这里写图片描述这里写图片描述

(2)应用场景

用于使所有子视图在单个方向(垂直或水平)保持对齐

(1) 按权重进行占据相同的空间量




三、帧布局(FrameLayout)


(1)属性

  • 默认组件都是左对齐和顶部对齐,每个组件相当于一个div
  • 可以更改对齐方式

    android:layout_gravity="bottom"
  • 不能相对于其他组件布局
 <TextView        android:layout_width="240dp"        android:layout_height="240dp"        android:background="#FF0000"        android:layout_gravity="center"        />

这里写图片描述

(2)应用场景

使用API : Fragment 和 TabHost 必须有帧布局




四、表格布局(TableLayout)


  • 每个节点是一行,它的每个子节点是一列
  • 表格布局中的节点可以不设置宽高,因为设置了也无效

    • 根节点的子节点宽为匹配父元素,高为包裹内容
    • 节点的子节点宽为包裹内容,高为包裹内容
    • 以上默认属性无法修改
  • 根节点中可以设置以下属性,表示让第1列拉伸填满屏幕宽度的剩余空间

    android:stretchColumns="1"

(2)应用场景

将子视图组织成多行




五、绝对布局(AbsoluteLayout)


  • 直接指定组件的x、y坐标

    android:layout_x="144dp"android:layout_y="154dp"

这里写图片描述
这里写图片描述

原创粉丝点击