Android 五种简单布局

五种常用布局:

线性布局:以水平或垂直方向排列
相对布局:通过相对定位排列
帧布局:开辟空白区域,帧里的控件(层)叠加
表格布局:表格形式排列
绝对布局:通过X,Y坐标排列

相对布局

在activity-main把原来的组件删除,在text中替换把约束布局改成线性布局

androidx.constraintlayout.widget.ConstraintLayout
RelativeLayout

添加一个Button

 android:layout_alignParentTop="true"//上边界
 android:layout_alignParentStart="true"//左边界
 android:layout_marginTop="40dp"//上边距
 android:layout_marginStart="40dp"//左边距

同理的方式添加其他的Button

//右下方添加Button
 android:layout_alignParentEnd="true"
 android:layout_alignParentBottom="true"
 android:layout_marginEnd="40dp"
 android:layout_marginBottom="40dp"
 //左下角添加Button
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_alignParentStart="true"
  android:layout_alignParentBottom="true"
  android:layout_marginStart="65dp"
  android:layout_marginBottom="42dp"
 //中间位置添加Button
 android:layout_centerInParent="true"
 //以中间为参考线,中间Button下方40dp添加Button
  android:layout_centerHorizontal="true"
  android:layout_below="@id/button4"
  android:layout_marginTop="40dp"
  //以中间为参考,中间Button右方添加Button
   android:layout_centerVertical="true"
   android:layout_toEndOf="@id/button4"
   android:layout_marginLeft="40dp"

运行结果如下:
ActivityLayout

线性布局

把约束布局的代码改成LinerLayout,添加线性关系

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

这里有个权重,三个Button总共是3,每一个分为1,如果让权重有作用,每个Button的宽度改为0dp

 android:layout_weight="1"

运行结果如下:
嵌套

表格布局

把约束布局改为TableLayout,添加行,在tableLayout中点击TableRow,高设为wrap_content。
把第五个Button放在第二个位置,也就是第五个列设置为1

android:layout_column=“1”

跨列操作:

android:layout_span=“2”

运行结果如下:
表格布局
练习题目:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   .......
    tools:context=".MainActivity">
<LinearLayout
   ...
    android:layout_marginTop="20dp"
    android:layout_marginStart="20dp"
    android:layout_marginRight="20dp"
    android:layout_marginEnd="20dp">
    <Button
        android:id="@+id/button4"
       ...
        android:text="Button" />

    <Button
        android:id="@+id/button5"
        ...
        android:text="Button" />

    <Button
        android:id="@+id/button6"
        ...
        android:layout_weight="2"
        android:text="Button" />
</LinearLayout>
<LinearLayout
    ...
    android:layout_centerInParent="true"
    android:layout_marginTop="20dp"
    android:layout_marginStart="20dp"
    android:layout_marginRight="20dp"
    android:layout_marginEnd="20dp">


    <Button
        android:id="@+id/button7"
        ...
        android:layout_weight="2"
        android:text="Button" />

    <Button
        android:id="@+id/button8"
        ...
        android:text="Button" />

    <Button
        android:id="@+id/button9"
       ...
        android:text="Button" />
</LinearLayout>

    <LinearLayout
       ...
        android:layout_alignParentBottom="true"
        android:layout_marginTop="20dp"
        android:layout_marginStart="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginEnd="20dp"
        >

        <Button
            android:id="@+id/button10"
          ...
            android:layout_weight="1"
            android:text="Button" />

        <Button
            android:id="@+id/button11"
            ...
            android:layout_weight="1"
            android:text="Button" />
    </LinearLayout>
</RelativeLayout>

运行结果如下:
LayoutDemo

发布了24 篇原创文章 · 获赞 5 · 访问量 541

猜你喜欢

转载自blog.csdn.net/weixin_46178009/article/details/104612332