RelativeLayout为相对布局,这种布局内的组件总是相对兄弟组件、父容器来确定的,在定义控件的位置时,需要参照其他控件的位置。

这个程序实现了一个梅花的相对布局

  1.   <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. >
  7. <!-- 定义该组件位于父容器中间 -->
  8. <TextView
  9. android:id="@+id/view01"
  10. android:layout_width="wrap_content"
  11. android:layout_height="wrap_content"
  12. android:background="@drawable/leaf"
  13. android:layout_centerInParent="true"
  14. />
  15. <!-- 定义该组件位于view01组件的上方 与view01左对齐-->
  16. <TextView
  17. android:id="@+id/view02"
  18. android:layout_width="wrap_content"
  19. android:layout_height="wrap_content"
  20. android:background="@drawable/leaf"
  21. android:layout_above="@id/view01"
  22. android:layout_alignLeft="@id/view01"
  23. />
  24. <!-- 定义该组件位于view01组件的下方 -->
  25. <TextView
  26. android:id="@+id/view03"
  27. android:layout_width="wrap_content"
  28. android:layout_height="wrap_content"
  29. android:background="@drawable/leaf"
  30. android:layout_below="@id/view01"
  31. android:layout_alignLeft="@id/view01"
  32. />
  33. <!-- 定义该组件位于view01组件的左边 -->
  34. <TextView
  35. android:id="@+id/view04"
  36. android:layout_width="wrap_content"
  37. android:layout_height="wrap_content"
  38. android:background="@drawable/leaf"
  39. android:layout_toLeftOf="@id/view01"
  40. android:layout_alignTop="@id/view01"
  41. />
  42. <!-- 定义该组件位于view01组件的右边 -->
  43. <TextView
  44. android:id="@+id/view05"
  45. android:layout_width="wrap_content"
  46. android:layout_height="wrap_content"
  47. android:background="@drawable/leaf"
  48. android:layout_toRightOf="@id/view01"
  49. android:layout_alignTop="@id/view01"
  50. />
  51. </RelativeLayout>
  52. <?xml version="1.0" encoding="utf-8"?>
  53. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  54.    android:orientation="vertical"
  55.    android:layout_width="fill_parent"
  56.   android:layout_height="fill_parent"
  57. >
  58. <!-- 定义该组件位于父容器中间 -->
  59. <TextView
  60.    android:id="@+id/view01"
  61.      android:layout_width="wrap_content"
  62.    android:layout_height="wrap_content"
  63.   android:background="@drawable/leaf"
  64.    android:layout_centerInParent="true"
  65. />
  66. <!-- 定义该组件位于view01组件的上方 与view01左对齐-->
  67. <TextView
  68.    android:id="@+id/view02"
  69.    android:layout_width="wrap_content"
  70.    android:layout_height="wrap_content"
  71.    android:background="@drawable/leaf"
  72.    android:layout_above="@id/view01"
  73.    android:layout_alignLeft="@id/view01"
  74. />
  75. <!-- 定义该组件位于view01组件的下方 -->
  76. <TextView
  77.    android:id="@+id/view03"
  78.    android:layout_width="wrap_content"
  79.    android:layout_height="wrap_content"
  80.    android:background="@drawable/leaf"
  81.    android:layout_below="@id/view01"
  82.    android:layout_alignLeft="@id/view01"
  83. />
  84. <!-- 定义该组件位于view01组件的左边 -->
  85. <TextView
  86.    android:id="@+id/view04"
  87.    android:layout_width="wrap_content"
  88.    android:layout_height="wrap_content"
  89.    android:background="@drawable/leaf"
  90.    android:layout_toLeftOf="@id/view01"
  91.    android:layout_alignTop="@id/view01"
  92. />
  93. <!-- 定义该组件位于view01组件的右边 -->
  94. <TextView
  95.    android:id="@+id/view05"
  96.    android:layout_width="wrap_content"
  97.    android:layout_height="wrap_content"
  98.    android:background="@drawable/leaf"
  99.    android:layout_toRightOf="@id/view01"
  100.    android:layout_alignTop="@id/view01"
  101. />
  102. </RelativeLayout>

在activity中动态设置控件的间距

  1. import android.app.Activity;
  2. import android.os.Bundle;
  3.  
  4. public class RelativeLayoutTest extends Activity
  5. {
  6. @Override
  7. public void onCreate(Bundle savedInstanceState)
  8. {
  9. super.onCreate(savedInstanceState);
  10. setContentView(R.layout.main);
  11. findViewById(R.id.view01).setPadding(, , , ); //设置各个控件之间的间距
  12. findViewById(R.id.view02).setPadding(, , , );
  13. findViewById(R.id.view03).setPadding(, , , );
  14. findViewById(R.id.view04).setPadding(, , , );
  15. findViewById(R.id.view05).setPadding(, , , );
  16. }
  17. }

Android RelativeLayout的更多相关文章

  1. [Android] RelativeLayout, LinearLayout,FrameLayout

    Android RelativeLayout 属性 // 相对于给定ID控件 android:layout_above 将该控件的底部置于给定ID的控件之上; android:layout_below ...

  2. android RelativeLayout 内容居中解决办法

    android RelativeLayout 内容居中解决办法:   使用Linearlayout本来利用父控件的gravity属性是很好解决的.但是对应RelativeLayout虽然有 gravi ...

  3. Android RelativeLayout wrap_content 而且 child view 使用 layout_alignParentBottom 时 RelativeLayout 高度会占满屏幕

    Android RelativeLayout wrap_content 而且 child view 使用 layout_alignParentBottom 时 RelativeLayout 高度会占满 ...

  4. android RelativeLayout 动态设置高度

    定义: private RelativeLayout mrlay; 调高度: mrlay = (RelativeLayout) findViewById(R.id.rlay_1); android.v ...

  5. Android RelativeLayout 实现左右中布局

    效果图如下: 代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns ...

  6. Android RelativeLayout 布局android:layout_centerHorizontal="true"注意

    特别注意,如果要是 android:layout_alignTop="@id/bind_decode_item_layout" android:layout_centerHoriz ...

  7. Android RelativeLayout常用属性介绍

    下面介绍一下RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layou ...

  8. Android RelativeLayout属性介绍

    在Android开发当中,虽然有五大布局,但我推荐使用的是相对布局,Google也是推荐使用相对布局,所有对RelativeLayout布局,常用的属性做一个整理: android:layout_ma ...

  9. Xamarin.Android RelativeLayout

    初次接触Xamarin.Android. 由于国内Xamarin的资料少见,我大多参考JAVA原生代码,慢慢摸索过来. 我把摸索出来的结果广而告之,希望后来人能少走一点弯路,也希望你也能做出一份贡献. ...

随机推荐

  1. asp.net导入2013版本的excel问题解决

    net中导入2013excel的故障解决办法. 修改导入excel的连接字符串 string strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data ...

  2. Web应用程序安全必须重视八大问题

    摘自:http://netsecurity.51cto.com/art/201402/428709.htm 对于任何一个项目,开始阶段对于交付安全的应用来说非常关键.适当的安全要求会导致正确的安全设计 ...

  3. Error 1937.An error occurred during the installation of assembly...

    工具:Installshield 2008 任务: 1. 创建一个 Merge Module 工程, 在 Merge Module 中包含若干 dll, 在安装过程中,dll 会被安装到指定路径. 2 ...

  4. Java大数操作类

    Java的大数操作分为BigInteger和BigDecimal,但这两给类是分开使用的,有时候在编程的时候显得略微繁琐,现在编写了一个将二者合二为一的大数操作类. 大数操作类代码如下: packag ...

  5. Easyui 创建dialog的两种方式,以及他们带来的问题

    $('#yy').dialog('open');//打开dialog 这地方要注意,加入你关闭窗口的地方使用$('#yy').dialog('destroy');那么你这个dialog就只能使用一次, ...

  6. 聊天工具实现winform端实现

    最近在找能够实现客户端点对点聊天的技术,通过github我发现了一个项目,它能够支持webscoket通讯,服务端是由c#socket完成. 我要的是winform端的通信,所以在他的基础上,增加了桌 ...

  7. 2014年度辛星css教程夏季版第五节

    本小节我们讲解css中的”盒模型“,即”box model“,它通常用于在布局的时候使用,这个”盒模型“也有人成为”框模型“,其实原理都一样,它的大致原理是这样的,它把一个HTML元素分为了这么几个部 ...

  8. 几条特殊的SQL语句

    1, 有case情况. select trunc(exf_payment_receipt.work_date),exf_payment_receipt.exchange_code,exf_paymen ...

  9. FolderBrowserDialog组件选择文件夹

    1.选择路径 this.folderBrowserDialog1.ShowDialog(); if (this.folderBrowserDialog1.ShowDialog() == DialogR ...

  10. C#中如何按字节数截取字符串?

    http://www.cnblogs.com/xuejie/archive/2012/12/14/2818452.html