目录

📁 文件结构说明

📄 布局文件(activity_main.xml)

📄 Java 主程序文件(MainActivity.java)

🚀 程序运行效果说明

✅ 总结


在 Android 应用开发中,RelativeLayout(相对布局) 是一种非常灵活的布局方式。它允许你通过控件之间的位置关系来组织界面元素,比如让一个控件位于另一个控件的下方、右侧、左侧或顶部。

本文将通过一个完整实例带你快速认识 RelativeLayout,并展示它在界面设计中的实际效果。


📁 文件结构说明

  • 布局文件(XML):res/layout/activity_main.xml

  • 逻辑文件(Java):java/com.example.a2/MainActivity.java


📄 布局文件(activity_main.xml)

代码类型:XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/tv1"
        android:layout_width="120dp"
        android:layout_height="80dp"
        android:layout_centerInParent="true"
        android:background="#F44336"
        android:gravity="center"
        android:text="1"
        android:textSize="48sp" />

    <TextView
        android:id="@+id/tv2"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_alignTop="@id/tv1"
        android:layout_alignParentRight="true"
        android:layout_centerInParent="true"
        android:background="#FFEB3B"
        android:gravity="center"
        android:text="2"
        android:textSize="48sp" />

    <TextView
        android:id="@+id/tv3"
        android:layout_width="120dp"
        android:layout_height="60dp"
        android:layout_below="@id/tv2"
        android:layout_toLeftOf="@id/tv2"
        android:background="#00BCD4"
        android:gravity="center"
        android:text="3"
        android:textSize="48sp" />

    <TextView
        android:id="@+id/tv4"
        android:layout_width="120dp"
        android:layout_height="80dp"
        android:layout_alignRight="@id/tv1"
        android:layout_below="@id/tv3"
        android:background="#9C27B0"
        android:gravity="center"
        android:text="4"
        android:textSize="48sp" />

    <TextView
        android:id="@+id/tv5"
        android:layout_width="120dp"
        android:layout_height="80dp"
        android:layout_toRightOf="@id/tv4"
        android:layout_alignParentBottom="true"
        android:background="#8BC34A"
        android:gravity="center"
        android:text="5"
        android:textSize="48sp" />

    <TextView
        android:id="@+id/tv6"
        android:layout_width="120dp"
        android:layout_height="80dp"
        android:layout_toLeftOf="@id/tv4"
        android:layout_above="@id/tv5"
        android:background="#FF9800"
        android:gravity="center"
        android:text="6"
        android:textSize="48sp" />

    <TextView
        android:id="@+id/tv7"
        android:layout_width="120dp"
        android:layout_height="80dp"
        android:layout_toLeftOf="@id/tv4"
        android:layout_above="@id/tv3"
        android:background="#FF9800"
        android:gravity="center"
        android:text="7"
        android:textSize="48sp" />
</RelativeLayout>

📄 Java 主程序文件(MainActivity.java)

代码类型:Java

// 文件路径:java/com.example.a2/MainActivity.java
package com.example.a2;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

🚀 程序运行效果说明

运行该程序后,你会看到一个由七个彩色方块组成的界面:

  • tv1 位于屏幕正中央;

  • tv2 靠右侧,与 tv1 顶部对齐;

  • tv3tv2 的下方、左侧;

  • tv4tv3 的下方,右对齐 tv1

  • tv5tv4 右侧,位于底部;

  • tv6tv4 左侧,位于 tv5 上方;

  • tv7tv4 左侧,位于 tv3 上方。

通过这些布局方式,你可以清晰了解 RelativeLayout 中如何使用 layout_belowlayout_alignToplayout_toLeftOf 等属性来精准控制控件间的位置关系。


✅ 总结

  • RelativeLayout 是一种通过控件之间位置关系来构建界面的布局方式。

  • 它适合布局关系复杂但逻辑清晰的界面。

  • 和 ConstraintLayout 相比,它不需要约束线,但灵活性稍低。


 

 

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐