第23讲 UI_布局 之相对布局
第23讲 UI_布局 之相对布局
、RelativeLayout(相对布局):
RelativeLayout(相对布局)是指组件的位置总是相对兄弟组件、父容器来决定的(相对位置),如某个组件的左边右边,上边下边。相对布局是除线性布局之外最常用的,它相对于线性布局来说更加灵活,每个组件都可以指定与其它组件或父组件的位置,只是必须通过ID来进行指定。相对布局的子控件必须有唯一的id属性以使规则正确应用。
【注意】:
1.当心循环规则,循环规则发生在两个控件具有互相指向的规则时。如果你在布局设计中使用了循环规则,你将会得到以下错误信息:
IllegalStateException: Circulardependencies cannot exist in a RelativeLayout(相对布局中不允许存在循环依赖)
2.使用相对布局代替嵌套线性布局以改进程序性能和响应能力。
|
表1-1 |
|
|
属性名称 |
作用 |
|
android:layout_above |
将组件放在指定ID组件的上方 |
|
android:layout_below |
将组件放在指定ID组件的下方 android:layout_below="@id/button1" |
|
android:layout_toLeftOf |
将组件放在指定ID组件的左方 |
|
android:layout_toRightOf |
将组件放在指定ID组件的右方 |
|
表1-2 |
|
|
属性名称 |
作用 |
|
android:layout_alignBaseline |
将该组件放在指定ID组件进行中心线对齐 |
|
android:layout_alignTop |
将该组件放在指定ID组件进行顶部对齐 |
|
android:layout_alignBottom |
将该组件放在指定ID组件进行底部对齐 |
|
android:layout_alignLeft |
将该组件放在指定ID组件进行左边缘对齐 |
|
android:layout_alignRight |
将该组件放在指定ID组件进行右边缘对齐, android:layout_alignRight="@id/button2" |
|
表1-3 |
|
|
属性名称 |
作用 |
|
android:layout_alignParentTop |
该组件与父组件进行顶部对齐 |
|
android:layout_alignParentBottom |
该组件与父组件进行底部对齐 |
|
android:layout_alignParentLeft |
该组件与父组件进行左边缘对齐 |
|
android:layout_alignParentRight |
该组件与父组件进行右边缘对齐, android:layout_alignParentRight="true" |
|
android:layout_alignWithParentIfMissing |
参照控件不存在或不可见时参照父控件 |
|
表1-4 |
|
|
属性名称 |
属性名称 |
|
android:layout_centerHorizontal |
将该组件放置在水平方向中央的位置 android:layout_centerHorizontal="true" |
|
android:layout_centerVertical |
将该组件放置在垂直方向的中央的位置 |
|
android:layout_centerInParent |
将该组件放置在父组件的水平中央及垂直中央的位置 |
|
表 1-5 |
|
|
android:layout_marginLeft |
当前控件左侧的留白 |
|
android:layout_marginRight |
当前控件右侧的留白 |
|
android:layout_marginTop |
当前控件上方的留白 |
|
android:layout_marginBottom |
当前控件下方的留白 |
第23讲 UI_布局 之相对布局的更多相关文章
- 第24讲 UI_布局 之帧布局 表格布局 绝对布局
第24讲 UI_布局 之帧布局 表格布局 绝对布局 3. FrameLayout(帧布局) 帧布局是从屏幕的左上角(0,0)坐标开始布局,多个组件层叠排序,后一个组件总会将前一个组件所覆盖,除非最后一 ...
- 第21/22讲 UI_布局 之 线性布局
第21/22讲 UI_布局 之 线性布局 布局管理就是组件在activity中呈现方式,包括组件的大小,间距和对齐方式等. Android提供了两种布局的实现方式: 1.在xml配置文件中声明:这种方 ...
- Flutter学习笔记(23)--多个子元素的布局Widget(Rwo、Column、Stack、IndexedStack、Table、Wrap)
如需转载,请注明出处:Flutter学习笔记(23)--多个子元素的布局Widget(Rwo.Column.Stack.IndexedStack.Table.Wrap) 上一篇梳理了拥有单个子元素布局 ...
- CSS布局经典—圣杯布局与双飞翼布局
在我之前的博客网页整体布局完全剖析-剖完你不进来看一下么?中总结单列.两列.三列固宽与变宽布局,我还以为已经囊括了所有经典的网页布局方法了呢,当然除了CSS3的弹性盒模型没有涉及到,现在看来确实是自己 ...
- IOS开发之绝对布局和相对布局(屏幕适配)
之前如果做过Web前端页面的小伙伴们,看到绝对定位和相对定位并不陌生,并且使用起来也挺方便.在IOS的UI设计中也有绝对定位和相对定位,和我们的web前端的绝对定位和相对定位有所不同但又有相似之处.下 ...
- duilib各种布局的作用,相对布局与绝对布局的的意义与用法
大多数刚使用duilib的朋友时候非常依赖duilib自带的设计器,用他可以拖拉控件,可视化的做出自己想要的界面.可是用一段时间就会发现原带的设计器有很多bug,时不时会崩溃,支持的控件数量有限,属性 ...
- android布局 FrameLayout(帧布局)详解
看到一篇很有趣的文章对我就是冲着萌妹子看的 FrameLayout(帧布局) 前言 作为android六大布局中最为简单的布局之一,该布局直接在屏幕上开辟出了一块空白区域, 当我们往里面添加组件的时候 ...
- flex布局 响应式布局
移动端页面开发流程 移动端页面布局 一.移动端app分类 1.Native App原生app手机应用程序 使用原生的语言开发的手机应用,Android系统用的是java,ios系统用的是objec ...
- CSS的flex布局和Grid布局
一.什么是 flex 布局 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便.完整.响应式地实现各种页面布局.目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这 ...
随机推荐
- JavaScript新手学习笔记3——三种排序方式(冒泡排序、插入排序、快速排序)
每种编程语言学到数组的时候,都会讲到排序算法,当时学C语言的时候,卡在排序算法.今天来总结一下javascript中如何实现三种排序算法. 1.冒泡排序(默认升序排列哦) 原理: 冒泡排序的原理,顾名 ...
- Android中Context具体解释 ---- 你所不知道的Context
...
- Yii PHP Framework有用新手教程
说明:由于近期工作工作关系,须要开发一个在Linux下执行的Web Application,须要对如今比較流行的一些PHP框架做一个了解和评估,以下的这篇文章是笔者近期学习一个比較新的PHP Fram ...
- web开发小白之路
今天就来谈谈本人从事web开发的一系列白只又白的经历,本人刚开始是从事ios开发的,由于一系列的变故现在变为了web前端开发,不过说来也奇怪,刚开始接触前端时间可以说是彻底蒙圈,各种选择器,各种适配搞 ...
- yum安装于卸载软件常见命令
1.使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的. 安装的命令是,yuminstall ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突 ...
- Linux能力(capability)机制的继承
1.Linux能力机制概述 在以往的UNIX系统上,为了做进程的权限检查,把进程分为两类:特权进程(有效用户ID是0)和非特权进程(有效用户ID是非0).特权进程可以通过内核所有的权限检查,而非特权进 ...
- 前端 JavaScript基础
前言 JavaScript 是属于网络的脚本语言,被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用. 一.如何编写 1.存在形式 方式一:存在js文件中,即写入j ...
- C3P0连接池配置方式
c3p0的配置方式分为三种,分别是 1.setters一个个地设置各个配置项 2.类路径下提供一个c3p0.properties文件 3.类路径下提供一个c3p0-config.xml文件 1.set ...
- Codeforces Round #278 (Div. 1)
A A monster is attacking the Cyberland! Master Yang, a braver, is going to beat the monster. Yang an ...
- Matlab 取子矩阵
MATLAB如何提取矩阵的子块 在matlab中如何提取一个矩阵的部分元素 1.提取大矩阵的一列.一行元素: 一列元素: A(:,j)表示提取A矩阵的第j列全部元素 一行元素: A(i,:)表示提 ...