第13章、布局Layouts之RelativeLayout相对布局(从零開始学Android)

  RelativeLayout相对布局

  RelativeLayout是一种相对布局,控件的位置是依照相对位置来计算的,后一个控件在什么位置依赖于前一个控件的基本位置,是布局最经常使用,也是最灵活的一种布局。

  

  我们以下通过XML布局和Java代码布局两种方式分别举例:

一、XML方式布局

  1、创建一个空白Activity

  

  2、打开“res/layout/activity_main.xml”文件,改动成下面代码。

  

  (1)第①部分

  <?xml version="1.0" encoding="utf-8">,每一个XML文档都由XML序言開始,在前面的代码中的第一行便是XML序言,<?xml version="1.0">。这行代码表示依照1.0版本号的XML规则进行解析。encoding = "utf-8"表示此xml文件採用utf-8的编码格式。编码格式也能够是GB2312。

  假设你对此不太明确,请參阅相关XML文档。

  (2)第②部分

  <RelativeLayout…… 表示採用相对布局管理器。

  (3)第③部分

  android:layout_width="match_parent" android:layout_height="match_parent"表示布局管理器宽度和高充将填充整个屏幕宽度和高度。

  3、插入三个button。

  插入三个button,并分别设置其文本为:“第一个button”、“第二个button”、“第三个button”。

  

  我们下一步设置第一个button距离左边、上边各20dp,第二个button距离第一个button左边、上边各10dp;第三个button距离第二个button上边10dp,与第二个button左边对齐。

  4、打开“res/layout/activity_main.xml”文件,改动成下面代码。

  

  (1)第①部分

  设置第一个button,以父元素为基准,贴紧左上,距离20dp。  

 <Button
        android:id="@+id/button1"
       android:layout_width="wrap_content"                //宽度匹配内容
        android:layout_height="wrap_content"               //高度匹配内容  
        android:layout_alignParentLeft="true"                         //贴紧父元素左边
        android:layout_alignParentTop="true"               //贴紧父元素上边 
        android:layout_marginLeft="20dp"                              //设置左间距20dp
        android:layout_marginTop="20dp"                               //设置上间距20dp
        android:text="第一个button" />

  (2)第②部分

  设置第二个button,以第一个button为基准,在第一个button以下,对齐第一个button的右边,上距离15dp。

<Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"              //宽度匹配内容
        android:layout_height="wrap_content"              //高度匹配内容
        android:layout_below="@+id/button1"              //位置在第一个按钮的以下
        android:layout_toRightOf="@+id/button1"            //与第一个按钮的右边对齐
        android:layout_marginTop="15dp"                            //设置上间距15dp
     android:text="第二个button" />

  (3)第③部分  

  设置第三个button,以第二个button为基准,在第二个button以下,对齐第二个button的左边,距离15dp。

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"              //宽度匹配内容
        android:layout_height="wrap_content"              //高度匹配内容
        android:layout_below="@+id/button2"              //位置在第二个按钮的以下
        android:layout_toLeftOf="@+id/button2"            //与第二个按钮的左边对齐
        android:layout_marginTop="15dp"                //设置上间距15dp
        android:text="第三个button" />

  终于显示效果例如以下:

  

  附:相对布局经常使用属性介绍

  这里将这些属性分成组,便于理解和记忆。

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

  android:layout_centerHrizontal 水平居中

  android:layout_centerVertical 垂直居中

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

  android:layout_alignParentBottom 贴紧父元素的下边缘

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

  android:layout_alignParentRight 贴紧父元素的右边缘

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

  b)、第二类:属性值必须为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 本元素的右边缘和某元素的的右边缘对齐

  c)、第三类:属性值为详细的像素值,如30dip,40px

  android:layout_marginBottom 离某元素底边缘的距离

  android:layout_marginLeft 离某元素左边缘的距离

  android:layout_marginRight 离某元素右边缘的距离

  android:layout_marginTop 离某元素上边缘的距离

  能够通过组合这些属性来实现各种各样的布局。

 

时间: 2024-10-08 04:04:58

第13章、布局Layouts之RelativeLayout相对布局(从零開始学Android)的相关文章

布局Layouts之RelativeLayout相对布局

RelativeLayout相对布局 RelativeLayout是一种相对布局,控件的位置是按照相对位置来计算的,后一个控件在什么位置依赖于前一个控件的基本位置,是布局最常用,也是最灵活的一种布局. 我们下面通过XML布局和Java代码布局两种方式分别举例: 一.XML方式布局 1.创建一个空白Activity 2.打开“res/layout/activity_main.xml”文件,修改成以下代码. (1)第①部分 <?xml version="1.0" encoding=&

布局Layouts之RelativeLayout相对布局(转)

RelativeLayout相对布局 RelativeLayout是一种相对布局,控件的位置是按照相对位置来计算的,后一个控件在什么位置依赖于前一个控件的基本位置,是布局最常用,也是最灵活的一种布局. 我们下面通过XML布局和Java代码布局两种方式分别举例: 一.XML方式布局 1.创建一个空白Activity 2.打开“res/layout/activity_main.xml”文件,修改成以下代码. (1)第①部分 <?xml version="1.0" encoding=&

布局Layouts之GridLayout网格布局

原文地址http://blog.csdn.net/jianghuiquan/article/details/8299973 GridLayout网格布局 android4.0以上版本出现的GridLayout布局解决了以上问题.GridLayout布局使用虚细线将布局划分为行.列和单元格,也支持一个控件在行.列上都有交错排列.而GridLayout使用的其实是跟LinearLayout类似的API,只不过是修改了一下相关的标签而已,所以对于开发者来说,掌握GridLayout还是很容易的事情.G

布局Layouts之LinearLayout线性布局

从Hello world!开始,我们一直都是在一种布局下学习的,当然,对于基础内容的学习,还是没有任何问题的!但-- 在Android开发中UI设计也是十分重要的,当用户使用一个App时,最先感受到的不是这款软件的功能是否强大,而是界面设计是否赏心悦目,用户体验是否良好.也可以这样说,有一个好的界面设计去吸引用户的使用,才能让更多的用户体验到软件功能的强大. 那么,Android中几种常用布局则显得至关重要.各个布局既可以单独使用,也可以嵌套使用,我们应该在实际应用中应灵活变通. 第2章.Lin

布局Layouts之FrameLayout框架布局(转)

FrameLayout单桢布局 FrameLayout对象好比一块在屏幕上提前预定好的空白区域,可以将一些元素填充在里面,如图片.所有元素都被放置在FrameLayout区域的最左上区域,而且无法为这些元素制指定一个确切的位置,若有多个元素,那么后面的元素会重叠显示在前一个元素上. 我们下面通过XML布局和Java代码布局两种方式分别举例: 一.XML方式布局 1.首先把a.jpg图片复制到res/drawable-hdpi文件夹内. 2.创建一个空白Activity 3.打开“res/layo

布局Layouts之LinearLayout线性布局(转)

从Hello world!开始,我们一直都是在一种布局下学习的,当然,对于基础内容的学习,还是没有任何问题的!但—— 在Android开发中UI设计也是十分重要的,当用户使用一个App时,最先感受到的不是这款软件的功能是否强大,而是界面设计是否赏心悦目,用户体验是否良好.也可以这样说,有一个好的界面设计去吸引用户的使用,才能让更多的用户体验到软件功能的强大. 那么,Android中几种常用布局则显得至关重要.各个布局既可以单独使用,也可以嵌套使用,我们应该在实际应用中应灵活变通. LinearL

布局Layouts之FrameLayout框架布局

http://blog.csdn.net/jianghuiquan/article/details/8299961 FrameLayout单桢布局 FrameLayout对象好比一块在屏幕上提前预定好的空白区域,可以将一些元素填充在里面,如图片.所有元素都被放置在FrameLayout区域的最左上区域,而且无法为这些元素制指定一个确切的位置,若有多个元素,那么后面的元素会重叠显示在前一个元素上. 我们下面通过XML布局和Java代码布局两种方式分别举例: 一.XML方式布局 1.首先把a.jpg

布局Layouts之TableLayout表格布局

原文地址http://blog.csdn.net/jianghuiquan/article/details/8299970 TableLayout表格布局 TableLayout是指将子元素的位置分配到行或列中.Android的一个TableLayout有许多TableRow组成,每一个TableRow都会定义一个Row.TableLayout容器不会显示Row,Column,及Cell的边框线,每个Row拥有0个或多个Cell,每个Cell拥有一个View对象. 在使用tablelayout时

第三章 界面UI的基石—UI布局(1)

第三章界面UI的基石-UI布局 上一章我们一起学习了Android中的常用组件及一些UI编程的技术.在此基础上,我们就可以将这些组件有效的组织起来,构成一个美观.合理的界面. 在本章,我们先来详细说明Android中UI的几种布局,通过这几种布局就能将组件有效的组合到一起.然后说明在Android开发中如何应用样式和主题,通过样式和主题,可以预定义一系列的属性值,使整个应用程序形成统一的显示风格. 3.1用户界面的基本单元-View视图 在Android SDK中,View(视图)类是视图类的一