RelativeLayout布局实验(Android Studio)

简介: RelativeLayout布局实验(Android Studio)

RelativeLayout布局实验(Android Studio)

activity_main.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:id="@+id/parent"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="false"
    android:layout_alignParentTop="false"
    android:layout_alignParentRight="false"
    android:layout_alignParentBottom="false"
    tools:context=".MainActivity">
    <Button
        android:id="@+id/b1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="parentstart" />
    <Button
        android:id="@+id/b2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="166dp"
        android:layout_toRightOf="@id/b1"
        android:text="parentright" />
    <Button
        android:id="@+id/b3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/b1"
        android:layout_marginTop="622dp"
        android:text="parentbottom" />
    <Button
        android:id="@+id/b4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="160dp"
        android:layout_marginTop="670dp"
        android:layout_toRightOf="@id/b3"
        android:text="parentleft" />
    <Button
        android:id="@+id/cen"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:background="@color/colorAccent"
        android:text="center" />
    <Button
        android:id="@+id/above"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@id/cen"
        android:layout_marginBottom="20dp"
        android:layout_marginLeft="160dp"
        android:text="above" />
    <Button
        android:id="@+id/left"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@id/cen"
        android:layout_marginBottom="0dp"
        android:layout_marginLeft="50dp"
        android:text="left" />
    <Button
        android:id="@+id/right"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@id/cen"
        android:layout_marginLeft="270dp"
        android:layout_marginBottom="0dp"
        android:text="right" />
    <Button
        android:id="@+id/below"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/cen"
        android:layout_marginLeft="160dp"
        android:layout_marginTop="20dp"
        android:text="below" />
</RelativeLayout>

RelativeLayout(相对布局)中,控件可以通过两类属性表示相对位置,一类表示与父容器的相对位置,另一类表示与其他控件之间的相对位置。不管是相对于父容器位置还是其他控件位置(容器),在设置好大致方向之后,一般都是需要再设置具体方向的距离而且一般是两个(上下一个、左右一个)。

一、大致方位:相对于父容器的属性,属性值选择 true 或者 false。

android:layout_centerInParent(在父布局的水平、垂直方向都居中)

android:layout_centerVertical(在父布局的垂直方向居中)

android:layout_centerHorizontal(在父布局的水平方向居中)

android:layout_alignParentTop(是否与父控件的顶端对齐)

android:layout_alignParentBottom(是否与父控件的底端对齐)

android:layout_alignParentLeft(是否与父控件的左侧对齐)

android:layout_alignParentRight(是否与父控件的右侧对齐)

二、大致方位:相对于其他控件的属性,属性值为控件的id。

android:layout_above(位于某控件上方)

android:layout_below(位于某控件下方)

android:layout_toLeftOf(位于某控件左方)

android:layout_toRightOf(位于某控件右方)

android:layout_alignTop(当前控件的顶部是否与某控件顶部对齐)

android:layout_alignBottom(当前控件的底部是否与某控件底部对齐)

android:layout_alignLeft(当前控件的左界面是否与某控件左界面对齐)

android:layout_alignRight(当前控件的右界面是否与某控件右界面对齐)

android:layout_alignBaseline(与某控件的文本内容在一条直线上)

三、具体方向的距离:属性值单位选择为dp。

android:layout_margin(和父布局或者父控件或者其他控件四周的距离)

android:layout_marginTop(当前控件的顶部和父布局或者父控件或者其他控件上端的距离)

android:layout_marginBottom(当前控件的底部和父布局或者父控件或者其他控件下端的距离)

android:layout_marginLeft(当前控件的左界面和父布局或者父控件或者其他控件左端的距离)

android:layout_marginRight(当前控件的右界面和父布局或者父控件或者其他控件右端的距离)


相关文章
|
24天前
|
ARouter Android开发
Android不同module布局文件重名被覆盖
Android不同module布局文件重名被覆盖
|
3月前
|
移动开发 监控 前端开发
构建高效Android应用:从优化布局到提升性能
【7月更文挑战第60天】在移动开发领域,一个流畅且响应迅速的应用程序是用户留存的关键。针对Android平台,开发者面临的挑战包括多样化的设备兼容性和性能优化。本文将深入探讨如何通过改进布局设计、内存管理和多线程处理来构建高效的Android应用。我们将剖析布局优化的细节,并讨论最新的Android性能提升策略,以帮助开发者创建更快速、更流畅的用户体验。
63 10
|
3月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
223 1
|
1月前
|
Java Unix Linux
Android Studio中Terminal运行./gradlew clean build提示错误信息
遇到 `./gradlew clean build`命令执行出错时,首先应检查错误信息的具体内容,这通常会指向问题的根源。从权限、环境配置、依赖下载、版本兼容性到项目配置本身,逐一排查并应用相应的解决措施。记住,保持耐心,逐步解决问题,往往复杂问题都是由简单原因引起的。
177 2
|
1月前
|
ARouter Android开发
Android不同module布局文件重名被覆盖
Android不同module布局文件重名被覆盖
96 0
|
2月前
|
XML IDE 开发工具
🔧Android Studio高级技巧大公开!效率翻倍,编码不再枯燥无味!🛠️
【9月更文挑战第11天】在软件开发领域,Android Studio凭借其强大的功能成为Android开发者的首选IDE。本文将揭示一些提升开发效率的高级技巧,包括自定义代码模板、重构工具、高级调试技巧及多模块架构。通过对比传统方法,这些技巧不仅能简化编码流程,还能显著提高生产力。例如,自定义模板可一键插入常用代码块;重构工具能智能分析并安全执行代码更改;高级调试技巧如条件断点有助于快速定位问题;多模块架构则提升了大型项目的可维护性和团队协作效率。掌握这些技巧,将使你的开发之旅更加高效与愉悦。
63 5
|
3月前
|
编解码 Android开发
【Android Studio】使用UI工具绘制,ConstraintLayout 限制性布局,快速上手
本文介绍了Android Studio中使用ConstraintLayout布局的方法,通过创建布局文件、设置控件约束等步骤,快速上手UI设计,并提供了一个TV Launcher界面布局的绘制示例。
54 1
|
3月前
|
Android开发
Android Studio: 解决Gradle sync failed 错误
本文介绍了解决Android Studio中出现的Gradle同步失败错误的步骤,包括从`gradle-wrapper.properties`文件中获取Gradle的下载链接,手动下载Gradle压缩包,并替换默认下载路径中的临时文件,然后重新触发Android Studio的"Try Again"来完成同步。
1199 0
Android Studio: 解决Gradle sync failed 错误
|
3月前
|
Java Android开发 芯片
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
本文介绍了如何将基于全志H713芯片的AOSP Android源码导入Android Studio以解决编译和编码问题,通过操作步骤的详细说明,展示了在Android Studio中利用代码提示和补全功能快速定位并修复编译错误的方法。
114 0
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
|
3月前
|
API 开发工具 Android开发
Android Studio:解决AOSP自编译framework.jar引用不到的问题
在Android Studio中解决AOSP自编译framework.jar引用问题的几种方法,包括使用相对路径、绝对路径和通过`${project.rootDir}`动态获取路径的方法,以避免硬编码路径带来的配置问题。
181 0
Android Studio:解决AOSP自编译framework.jar引用不到的问题