Android组件----RelativeLayout相对布局的属性详解

简介:

一、常用属性:

1、第一类:属性值为true或false

android:layout_centerHrizontal    相对于父元素水平居中

android:layout_centerVertical       相对于父元素垂直居中

android:layout_centerInparent         相对于父元素完全居中

 

android:layout_alignParentBottom         贴紧父元素的下边缘(align:对齐)

android:layout_alignParentLeft           贴紧父元素的左边缘

android:layout_alignParentRight            贴紧父元素的右边缘(默认值为false)

android:layout_alignParentTop               贴紧父元素的上边缘

android:layout_alignWithParentIfMissing     如果对应的兄弟元素找不到的话就以父元素做参照物

 

2、第二类:属性值必须为id的引用名"@id/id-name"

android:layout_below              在某元素的下方

android:layout_above              在某元素的的上方

android:layout_toLeftOf       在某元素的左边

android:layout_toRightOf     在某元素的右边

 

android:layout_alignTop      本元素的上边缘和某元素的的上边缘对齐

android:layout_alignLeft       本元素的左边缘和某元素的的左边缘对齐

android:layout_alignBottom   本元素的下边缘和某元素的的下边缘对齐

android:layout_alignRight    本元素的右边缘和某元素的的右边缘对齐

 

3、第三类:属性值为具体的像素值,如30dp(外边距和内边距

android:layout_margin           外边距(margin:边缘)

android:layout_marginTop           上外边距

android:layout_marginBottom      下外边距 

android:layout_marginLeft           左外边距

android:layout_marginRight         右外边距

 

android:padding          内边距(padding:填充)

android:paddingTop         上内边距

android:paddingBottom       下内边距

android:paddingLeft         左内边距

android:paddingRight              右内边距

 

4、第四类:android4.2新增属性 

android:layout_alignStart           两个控件开始对齐

android:layout_alignEnd                 两个控件结束对齐

android:layout_alignParentStart      子控件和父控件开始对齐

android:layout_alignParentEnd    子控件和父控件结束对齐

 

二、外边距和内边距的解释:

来看下面这张图:

 

例如:当在布局文件中,

将第一个TextView加入如下代码:(注:margin的意思是“边缘”)

android:layout_margin="30dp"

将第二个TextView加入如下代码:(注:padding的意思是“填充”)

android:padding="20dp"

最终效果如下: 

 

三、对齐至控件的基准线:

android:layout_alignBaseline      与某元素的基准线对齐

什么是基准线?

基准线:为了保证印刷字母的整齐而划定的线。

上图中的第三条线就是基准线。

完整版代码举例:

复制代码
 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"  >
 5     <TextView
 6         android:id="@+id/tv1"
 7         android:layout_width="wrap_content"
 8         android:layout_height="wrap_content"
 9         android:background="#FFE4E1"
10         android:textSize="30dp"
11         android:text="shengmingyihao" />
12     
13      <TextView
14         android:id="@+id/tv2"
15         android:layout_width="wrap_content"
16         android:layout_height="wrap_content"
17         android:background="#D3D3D3"
18         android:layout_toRightOf="@id/firstView"
19         android:layout_alignBaseline="@id/tv1"
20         android:text="smyhvae" />   
21 </RelativeLayout>
复制代码

上方代码的第19行就是将tv2对齐至tv1的基准线。

显示效果如下:

上图中绿色的虚线即为基准线。

 

三、其他属性:

1、EditText控件:

android:hint   设置EditText为空时输入框内的提示信息。

2、android:gravity

android:gravity  该属性是对该view里面的内容的限定。比如一个button里面的text,你可以设置该text在view的靠左、靠右等位置。

以button为例:

  android:gravity="right"      可以让button里面的文字靠右

  android:gravity="top"        可以让编辑框EditText的光标置于左上方

3、android:gravity和线性布局中的android:layout_gravity区别:

  • gravity    控制当前控件里面的内容显示区域
  • 线性布局中的layout_gravity    当前控件在父元素的位置

比如弄个最外布局,然后里面包了几个布局,如果要使这几个布局都靠底,就可以在最外布局的属性里设置androi:gravity="botton"  因为gravity是对里面的内容起作用。

相关文章
|
1月前
|
存储 消息中间件 人工智能
【05】AI辅助编程完整的安卓二次商业实战-消息页面媒体对象(Media Object)布局实战调整-按钮样式调整实践-优雅草伊凡
【05】AI辅助编程完整的安卓二次商业实战-消息页面媒体对象(Media Object)布局实战调整-按钮样式调整实践-优雅草伊凡
86 11
【05】AI辅助编程完整的安卓二次商业实战-消息页面媒体对象(Media Object)布局实战调整-按钮样式调整实践-优雅草伊凡
|
1月前
|
XML 存储 Java
【06】AI辅助编程完整的安卓二次商业实战-背景布局变更增加背景-二开发现页面跳转逻辑-替换剩余图标-优雅草卓伊凡
【06】AI辅助编程完整的安卓二次商业实战-背景布局变更增加背景-二开发现页面跳转逻辑-替换剩余图标-优雅草卓伊凡
68 3
【06】AI辅助编程完整的安卓二次商业实战-背景布局变更增加背景-二开发现页面跳转逻辑-替换剩余图标-优雅草卓伊凡
|
5月前
|
Android开发 开发者
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
本文详细介绍了如何通过自定义 `attrs.xml` 文件实现 Android 自定义 View 的属性配置。以一个包含 TextView 和 ImageView 的 DemoView 为例,讲解了如何使用自定义属性动态改变文字内容和控制图片显示隐藏。同时,通过设置布尔值和点击事件,实现了图片状态的切换功能。代码中展示了如何在构造函数中解析自定义属性,并通过方法 `setSetting0n` 和 `setbackeguang` 实现功能逻辑的优化与封装。此示例帮助开发者更好地理解自定义 View 的开发流程与 attrs.xml 的实际应用。
118 2
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
|
11月前
|
搜索推荐 Android开发 开发者
探索安卓开发中的自定义视图:打造个性化UI组件
【10月更文挑战第39天】在安卓开发的世界中,自定义视图是实现独特界面设计的关键。本文将引导你理解自定义视图的概念、创建流程,以及如何通过它们增强应用的用户体验。我们将从基础出发,逐步深入,最终让你能够自信地设计和实现专属的UI组件。
|
ARouter Android开发
Android不同module布局文件重名被覆盖
Android不同module布局文件重名被覆盖
|
存储 Android开发 开发者
深入理解安卓应用开发的核心组件
【10月更文挑战第8天】探索Android应用开发的精髓,本文带你了解安卓核心组件的奥秘,包括Activity、Service、BroadcastReceiver和ContentProvider。我们将通过代码示例,揭示这些组件如何协同工作,构建出功能强大且响应迅速的应用程序。无论你是初学者还是资深开发者,这篇文章都将为你提供新的视角和深度知识。
|
10月前
|
XML 搜索推荐 前端开发
安卓开发中的自定义视图:打造个性化UI组件
在安卓应用开发中,自定义视图是一种强大的工具,它允许开发者创造独一无二的用户界面元素,从而提升应用的外观和用户体验。本文将通过一个简单的自定义视图示例,引导你了解如何在安卓项目中实现自定义组件,并探讨其背后的技术原理。我们将从基础的View类讲起,逐步深入到绘图、事件处理以及性能优化等方面。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。
|
4天前
|
移动开发 JavaScript 应用服务中间件
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡
52 5
【06】优化完善落地页样式内容-精度优化-vue加vite开发实战-做一个非常漂亮的APP下载落地页-支持PC和H5自适应提供安卓苹果鸿蒙下载和网页端访问-优雅草卓伊凡

热门文章

最新文章