A016-布局之RelativeLayout

RelativeLayout

相对布局,如果我们想在app中实现复杂的布局,缺了它肯定不行的,前面介绍的LinearLayout适用于顺序排列的布局,然而RelativeLayout则适用于各种排列方式。

XML Attribute

上面都是我们适用RelativeLayout布局时可以用到的属性,具体我就不一个个去介绍每一个属性的用法,我们只需要知道每个View都可以根据parent和其他View来进行布局,分别四个方位:

- top (上)

- bottom(下)

- left(左)

- right(右)

eg:

android:layout_alignParentTop

如果为”true”的话,表示该view的边界 对齐父视图顶部边界。

android:layout_centerVertical

如果为”true”的话,表示在父视图中竖直方向居中。

android:layout_below

定位指定View视图的顶部边界对齐指定ID视图的底部边界。

eg:android:layout_below=”@+id/button2”

android:layout_toRightOf

定位指定View视图的左边界对齐指定ID视图的右边界。

eg: android:layout_toRightOf=”@+id/button”

举例

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="我是按钮1" />

    <Button
        android:id="@+id/button2"
        android:layout_toRightOf="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="我是按钮2" />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/button2"
        android:layout_alignLeft="@+id/button2"
        android:text="我是按钮3" />
    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="我是按钮4"
        android:layout_below="@+id/button3"
        android:layout_toRightOf="@+id/button3"
        android:layout_toEndOf="@+id/button3" />
    <Button
        android:id="@+id/button5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="我是按钮5"
        android:layout_alignParentRight="true"/>

    <Button
        android:id="@+id/button6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="我是按钮6"
        android:layout_below="@+id/button5"
        android:layout_toRightOf="@+id/button4"
        android:layout_toEndOf="@+id/button4" />
</RelativeLayout>

最后

大家可以先感受下,下面这样的一个界面应该如何搭建起来,这个是小巫参与开发的一款app,界面还算比较美观简洁,就是这样的一个界面需要我们用代码堆砌起来,我们需要把基础打牢才能做出好看的app,所以希望初学者不要急躁,多自己手写布局代码,把基本的属性设置都了解过一遍,这样搭建界面的时候才不会迷茫。

转载请注明:IT_xiao小巫 http://blog.csdn.net/wwj_748

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-05 12:26:19

A016-布局之RelativeLayout的相关文章

Android UI布局之RelativeLayout

RelativeLayout是一个相对布局类.首先RelativeLayout是一个容器,它里边的元素,如Button按钮等的位置是按照相对位置来计算的,例如,有两个Button按钮都布局在一个RelativeLayout里边,我们可以定义第二个Button在第一个Button的上边或者是右边.但到底第二个Button在什么位置呢,它还是依赖于第一个Button的位置.需要注意的是,出于性能上的考虑,对于相对布局的精确位置的计算只会执行一次,所以,如果一个可视化组件B依赖A,那么必须要让A出现在

Android精通:View与ViewGroup,LinearLayout线性布局,RelativeLayout相对布局,ListView列表组件

UI的描述 对于Android应用程序中,所有用户界面元素都是由View和ViewGroup对象构建的.View是绘制在屏幕上能与用户进行交互的一个对象.而对于ViewGroup来说,则是一个用于存放其他View和ViewGroup对象的布局容器! Android为我们提供了View和ViewGroup的两个子类的集合,提供常用的一些输入控件(比如按钮,图片和文本域等)和各种各样的布局模式(比如线程布局,相对布局,绝对布局,帧布局,表格布局等). 用户界面布局 在你APP软件上的,用户界面上显示

Android精通:TableLayout布局,GridLayout网格布局,FrameLayout帧布局,AbsoluteLayout绝对布局,RelativeLayout相对布局

在Android中提供了几个常用布局: LinearLayout线性布局 RelativeLayout相对布局 FrameLayout帧布局 AbsoluteLayout绝对布局 TableLayout表格布局 GridLayout网格布局 TableLayout表格布局 TableLayout的介绍 TableLayout是将子类向分别排列成行和列的布局视图容器,TableLayout是由许多TableRow对象组成的,表格布局以行列的形式管理子控件,每一个单元是一个TableRow或者Vie

Android的学习第六章(布局二--RelativeLayout)

今天我们来说一下Android布局中的Relativelayout布局(相对布局) 根据英译过来意思是相对布局,很容易理解,这一样布局使用的是元素与元素之间的微调做到布局的 含义:通过元素与元素之间的微调进行布局; 好处:可以进行细节上的处理 坏处:元素之间的关系过强,可能一个元素的改变其他元素的情况发生 我们看一下下面的一个代码布局案例 <!-- 第一个相对布局这里我们可以当做最大父元素 设置了宽度高度占满父元素 --> <RelativeLayout xmlns:android=&q

Android 动态改变布局属性RelativeLayout.LayoutParams.addRule()

我们知道,在 RelativeLayout 布局中有很多特殊的属性,通常在载入布局之前,在相关的xml文件中进行静态设置即可. 但是,在有些情况下,我们需要动态设置布局的属性,在不同的条件下设置不同的布局排列方式,这时候就需要用到 RelativeLayout.LayoutParams.addRule() 方法,该方法有两种重载方式: addRule(int verb) :用此方法时,所设置节点的属性不能与其它兄弟节点相关联或者属性值为布尔值(布尔值的属性,设置时表示该属性为 true,不设置就

Android 界面布局之RelativeLayout

Android 的 RelaliveLayout 布局的参数定义: android:layout_above="@id/xxx"  --将控件置于给定ID控件之上android:layout_below="@id/xxx"  --将控件置于给定ID控件之下 android:layout_toLeftOf="@id/xxx"  --将控件的右边缘和给定ID控件的左边缘对齐android:layout_toRightOf="@id/xxx&

代码中动态改变布局属性RelativeLayout.LayoutParams.addRule()

我们知道,在 RelativeLayout 布局中有很多特殊的属性,通常在载入布局之前,在相关的xml文件中进行静态设置即可. 但是,在有些情况下,我们需要动态设置布局的属性,在不同的条件下设置不同的布局排列方式,这时候就需要用到 RelativeLayout.LayoutParams.addRule() 方法,该方法有两种重载方式: addRule(int verb) :用此方法时,所设置节点的属性不能与其它兄弟节点相关联或者属性值为布尔值(布尔值的属性,设置时表示该属性为 true,不设置就

android布局学习之相对布局(RelativeLayout)

RelativeLayout可以设置某一个视图相对于其他视图的位置,这些位置可以包括上下左右等 RelativeLayout    属性  说明 android:layout_below    在某一个元素的下方 android :layout_above    在某一个元素的下方 android: layout_toLeftOf 在某一个元素左边 android: layout_toRightOf 在某一个元素的右边

Android布局之RelativeLayout

RelativeLayout用到的一些重要的属性: 第一类:属性值为true或falseandroid:layout_centerHrizontal 水平居中android:layout_centerVertical 垂直居中android:layout_centerInparent 相对于父元素完全居中android:layout_alignParentBottom 贴紧父元素的下边缘android:layout_alignParentLeft 贴紧父元素的左边缘android:layout_

Android布局之RelativeLayout属性大全

第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边缘 android:layout_alignParentLeft 贴紧父元素的左边缘 android:layout_alignParentRight 贴紧父