详解android四种布局之RelativeLayout

原创 2016年08月30日 23:27:01

第二种布局: RelativeLayout

    RelativeLayout又称作相对布局,也是一种非常常用的布局。,它可以通过相对定位的方式让控件出现在布局 的任何位置。也正因为如此,RelativeLayout中的属性非常多,不过这些属性都是有规律可 循的,其实并不难理解和记忆。

1. RelativeLayout相对父布局进行定位

1.1 xml文件代码

<?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/button1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentTop="true" 
        android:text="Button 1" />

    <Button 
        android:id="@+id/button2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentRight="true" 
        android:layout_alignParentTop="true" 
        android:text="Button 2" />

    <Button 
        android:id="@+id/button3" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerInParent="true" 
        android:text="Button 3" />

    <Button 
        android:id="@+id/button4" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentBottom="true"    
        android:layout_alignParentLeft="true" 
        android:text="Button 4" /> 

    <Button 
        android:id="@+id/button5" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentBottom="true" 
        android:layout_alignParentRight="true" 
        android:text="Button 5" /> 
</RelativeLayout>

1.2 RelativeLayout布局时控件可使用的属性说明:

1.2.1 android:layout_centerInParent=”true” 在父布局的正中央

1.2.2 android:layout_alignParentBottom=”true” 在父布局的底端

1.2.3 android:layout_alignParentTop=”true” 在父布局的顶端

1.2.4 android:layout_alignParentRight=”true” 在父布局的右端

1.2.5 android:layout_alignParentLeft=”true” 在父布局的左端

注意:单一对齐方式出现时,Right和Left只在顶端出现,Botton和Top只在底端出现

1.3 效果:

这里写图片描述


2. RelativeLayout相对其他控件布局

2.1 以下为xml文件的代码:

<?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/button3" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerInParent="true" 
        android:text="Button 3" />

    <Button 
        android:id="@+id/button1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_above="@id/button3" 
        android:layout_toLeftOf="@id/button3" 
        android:text="Button 1" />

    <Button 
        android:id="@+id/button2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_above="@id/button3" 
        android:layout_toRightOf="@id/button3" 
        android:text="Button 2" />

    <Button 
        android:id="@+id/button4" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_below="@id/button3" 
        android:layout_toLeftOf="@id/button3" 
        android:text="Button 4" />

    <Button 
        android:id="@+id/button5"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_below="@id/button3" 
        android:layout_toRightOf="@id/button3" 
        android:text="Button 5" />
</RelativeLayout>

2.2 RelativeLayout布局时,控件可使用属性说明:

2.2.1 android:layout_above=”@id/button3” 在button3控件上方

2.2.2 android:layout_below=”@id/button3” 在button3控件下方

2.2.3 android:layout_toRightOf=”@id/button3” 在button3控件右方

2.2.4 android:layout_toLeftOf=”@id/button3” 在button3控件左方

2.2.5 注意:单一出现时,toLeftOf和toRightOf分别在button3左右两边的最上方,above和below分别在button3的上下两边的最左边

2.3 效果:

2.3.1 完整

完整

2.3.1 单一左边:layout_toLeftOf=”@id/button3”

单一左边

2.3.3 单一上边:layout_above=”@id/button3”

单一上边

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

Android布局RelativeLayout(相对布局)详解

RelativeLayout(相对布局) 前言 和线性布局(LinearLayout)一样,RelaiveLayout相对布局也是我们用的比较多的一个布局之一 好的编程建议: 合理地利用好Line...
  • apple_4872330
  • apple_4872330
  • 2015年01月14日 17:34
  • 1820

Android应用开发原理之从源码分析看Linearlayout、Relativelayout,Framelayout的布局差别(Framelayout分析)

现在剩下Framelayout了; 直接先看onlayout: @Override protected void onLayout(boolean changed, int left, in...
  • jike0901xuye
  • jike0901xuye
  • 2015年08月14日 17:16
  • 705

如何写圆角布局(布局加圆角表框)

  • CodeNoodles
  • CodeNoodles
  • 2016年03月27日 10:56
  • 1441

RelativeLayout布局属性

子类控件在RelativeLayout中常用的属性: 子类空间相对父类容器的位置: android:layout_alignParentLeft="true"——子类控件相对父类容器靠左边 an...
  • guoqingshuang
  • guoqingshuang
  • 2016年05月16日 16:53
  • 354

Android学习--RelativeLayout相对布局

相对布局 RelativeLayout 允许子元素指定它们相对于其父元素或兄弟元素的位置,这是实际布局中最常用的布局方式之一。它灵活性大很多,当然属性也多,操作难度也大,属性之间产生冲突的的可能性也大...
  • u014581901
  • u014581901
  • 2016年03月17日 13:34
  • 3090

RelativeLayout 如何实现平分布局空间

平分布局在LinearLayout中很简单,就是设置 layout_weight但是我们有时候不得不在RelativeLayout 中实现平分布局空间,所以怎么做呢? 很简单代码 ...
  • CodeNoodles
  • CodeNoodles
  • 2016年03月27日 10:30
  • 3914

详解Android四种基本布局

LinearLayout LinearLayout 又称作线性布局,是一种非常常用的布局。 该布局有一个专属属性android:orientation,这个属性有两个选择vertical和horiz...
  • u014492609
  • u014492609
  • 2015年11月21日 20:30
  • 1544

解决RelativeLayout中gone后布局错位问题:RelativeLayout的alignWithParentIfMissing。

针对RelativeLayout有一点需要注意,因为它内部是通过多个View之间的关系而确定的框架,那么当其中某一个View因为某些需要调用GONE 来完全隐藏掉后,会影响与其相关联的Views。An...
  • juelingfeng
  • juelingfeng
  • 2014年12月12日 19:30
  • 732

【Android】Android中两种常用布局(LinearLayout和RelativeLayout)

LinearLayoutLinearLayout是一个很常用的布局,用于在单个方向(垂直或水平)中对齐所包含的所有组件,可以使用android:orientation属性指定布局方向。一个Linear...
  • White_Idiot
  • White_Idiot
  • 2017年01月25日 23:22
  • 768

使用JAVA代码实现Android布局(一)RelativeLayout

通常我们使用XML来书写Android的图形界面,XML虽然编写方便,但是在某些情况下不如JAVA代码灵活,所以在某些环境下还是必须使用JAVA代码来编写界面。我们以下XML代码为例,编写相应的JAV...
  • u010712277
  • u010712277
  • 2016年01月03日 19:14
  • 3203
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:详解android四种布局之RelativeLayout
举报原因:
原因补充:

(最多只允许输入30个字)