直接看代码吧

MainActivity.java

package com.example.helloworld;/*源文件所在包的声明*/

import androidx.appcompat.app.AppCompatActivity;/*导入AppCompatActivity类*/
import android.os.Bundle;/*导入Bundle类*/
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 用布局文件填充界面
    }


}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
    <!--LinearLayout 的所有子视图依次堆叠,
    因此无论子视图有多宽,垂直列表每行均只有一个子视图,
    水平列表将只有一行高(最高子视图的高度加上内边距)。
    LinearLayout 会考虑子视图之间的边距以及每个子视图的对齐方式
    (右对齐、居中对齐或左对齐)-->
    <TextView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:text="你这瓜"
        android:textColor="@color/white"
        android:layout_weight="1"
        android:background="#0000ff"
        android:textSize="60dp" />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:text="保熟吗"
        android:layout_weight="1"
        android:background="#ffff00"
        android:textSize="40sp"

        />
    <LinearLayout
        android:orientation="horizontal"
        android:layout_weight="4"
        android:layout_width="match_parent"
        android:layout_height="0dp">
        <TextView
            android:layout_width="0dp"
            android:layout_weight="1"
            android:text="这\n四\n块"
            android:textColor="@color/white"
            android:textSize="60sp"
            android:background="#000000"
            android:layout_height="match_parent" />
        <TextView
            android:layout_width="0dp"
            android:layout_weight="1"
            android:text="同\n属\n于"
            android:textColor="@color/black"
            android:textSize="60sp"
            android:background="#ffffff"
            android:layout_height="match_parent" />
        <TextView
            android:layout_width="0dp"
            android:layout_weight="1"
            android:text="1个\n布\n局"
            android:textColor="@color/white"
            android:textSize="60sp"

            android:background="#000000"
            android:layout_height="match_parent" />
        <TextView
            android:layout_width="0dp"
            android:layout_weight="1"
            android:text="能\n懂\n吧"
            android:textColor="@color/black"
            android:textSize="60sp"

            android:background="#ffffff"
            android:layout_height="match_parent" />
    </LinearLayout>
    <TextView
        android:background="#FF9800"
        android:textColor="#00ff00"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:text="所有水平的块"
        android:layout_weight="1"
        android:textSize="40sp" />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:text="都不用重新布局"
        android:layout_weight="1"
        android:background="#2AAA2A"
        android:textSize="40sp" />
</LinearLayout>

<!--
    布局layout:优点简化业务逻辑编写,增加了图形化开发,提高效率。
	-->

image.png

总的来说

我认为所谓布局就是画画方式,你这张画想横着画,就要在最开头说好整张画是横着画还是竖着画,如果竖着画到一半发现有一部分想横着画,那么这部分就要重新布局