RelativeLayout(相对布局)
目录
📄 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顶部对齐; -
tv3在tv2的下方、左侧; -
tv4在tv3的下方,右对齐tv1; -
tv5在tv4右侧,位于底部; -
tv6在tv4左侧,位于tv5上方; -
tv7在tv4左侧,位于tv3上方。
通过这些布局方式,你可以清晰了解 RelativeLayout 中如何使用 layout_below、layout_alignTop、layout_toLeftOf 等属性来精准控制控件间的位置关系。
✅ 总结
-
RelativeLayout 是一种通过控件之间位置关系来构建界面的布局方式。
-
它适合布局关系复杂但逻辑清晰的界面。
-
和 ConstraintLayout 相比,它不需要约束线,但灵活性稍低。
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐


所有评论(0)