Android开发——详解四种基本布局(十)

android开发 笔记(1.13)

  • 1.线性布局
  • 2.相对布局
  • 3.帧布局
  • 4.百分比布局

1.线性布局

LinearLayout又称线性布局,是一种非常常用的布局
layout_gravity 用于指定控件在布局中的对其形式
layout_weight (平分长/宽)
Android开发——详解四种基本布局(十)_第1张图片
Button1: 1/3 Button2: 2/3
Android开发——详解四种基本布局(十)_第2张图片

注:TextView: android:layout_width=“wrap_content”
Button: android:layout_weight=“4” android:layout_width=“0dp”
Android开发——详解四种基本布局(十)_第3张图片
TextView仍然按照wrap_content计算,而Button则会占满屏幕所有的剩余空间。
这种方式编写的界面,不仅在各种屏幕的适配方面都会非常好,而且看起来会更加舒服

 <TextView
        android:id="@+id/text1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="你是个文字框" />
    <Button
        android:id="@+id/button2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Button2"
        android:textAllCaps="false" />

2.相对布局

RelativeLayout又称作相对布局,也是非常常用的一种布局方式。

<Button
    android:id="@+id/Button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="Button1"
    android:textAllCaps="false" />

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:text="Button2"
    android:textAllCaps="false" />

<Button
    android:id="@+id/button3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:text="Button3"
    android:textAllCaps="false" />

<Button
    android:id="@+id/button4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentBottom="true"
    android:text="Button4"
    android:textAllCaps="false" />

<Button
    android:id="@+id/button5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentBottom="true"
    android:text="Button5"
    android:textAllCaps="false" />

上述代码是相对于父布局进行定位的
Android开发——详解四种基本布局(十)_第4张图片


    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="Button3"
        android:textAllCaps="false" />

    <Button
        android:id="@+id/Button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/button3"
        android:layout_toLeftOf="@id/button3"
        android:text="Button1"
        android:textAllCaps="false" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/button3"
        android:layout_toRightOf="@id/button3"
        android:text="Button2"
        android:textAllCaps="false" />


    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/button3"
        android:layout_toLeftOf="@id/button3"
        android:text="Button4"
        android:textAllCaps="false" />

    <Button
        android:id="@+id/button5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/button3"
        android:layout_toRightOf="@id/button3"
        android:text="Button5"
        android:textAllCaps="false" />

android:layout_above / android:layout_below: 可以让一个控件位于一个控件的上方/下方
android:layout_toRightOf、android:layout_toLeftOf 表示让一个空间在一个空间的右侧/左侧
注意:当一个控件去引用另一个控件的id时候,该控件一定要定义在引用控件的后面,不然会出现找不到id的情况。

Android开发——详解四种基本布局(十)_第5张图片

 <Button
        android:id="@+id/button5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@id/Button1"
        android:layout_alignRight="@id/button3"
        android:text="Button5"
        android:textAllCaps="false" />

Button5控件和Button1的左对齐 和Button3的右对齐
Android开发——详解四种基本布局(十)_第6张图片

3.帧布局

FrameLayout又称帧布局,所有控件都默认摆放在布局的左上角
(用处较少,之后介绍碎片的时候还会提到)

4.百分比布局

在这种布局中可以不再使用wrap_content,match_content等方式来指定控件的大小,而是允许直接指定控件在布局中所占的百分比。百分比布局只为了FrameLayout和RelativeLayout进行功能扩展。
为了使百分比布局在所有Android版本中均可以使用,将其定义在support库当中。

你可能感兴趣的:(android开发)