Android RelativeLayout

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

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

   <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    <!-- 定义该组件位于父容器中间 -->
    <TextView
        android:id="@+id/view01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/leaf"
        android:layout_centerInParent="true"
        />
    <!-- 定义该组件位于view01组件的上方  与view01左对齐-->
    <TextView
        android:id="@+id/view02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/leaf"
        android:layout_above="@id/view01"
        android:layout_alignLeft="@id/view01"
        />
    <!-- 定义该组件位于view01组件的下方 -->
    <TextView
        android:id="@+id/view03"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/leaf"
        android:layout_below="@id/view01"
        android:layout_alignLeft="@id/view01"
        />
    <!-- 定义该组件位于view01组件的左边 -->
    <TextView
        android:id="@+id/view04"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/leaf"
        android:layout_toLeftOf="@id/view01"
        android:layout_alignTop="@id/view01"
        />
    <!-- 定义该组件位于view01组件的右边 -->
    <TextView
        android:id="@+id/view05"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/leaf"
        android:layout_toRightOf="@id/view01"
        android:layout_alignTop="@id/view01"
        />
    </RelativeLayout>
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:orientation="vertical"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
     >
    <!-- 定义该组件位于父容器中间 -->
    <TextView
       android:id="@+id/view01"
     android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:background="@drawable/leaf"
       android:layout_centerInParent="true"
     />
    <!-- 定义该组件位于view01组件的上方  与view01左对齐-->
    <TextView
       android:id="@+id/view02"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:background="@drawable/leaf"
       android:layout_above="@id/view01"
       android:layout_alignLeft="@id/view01"
     />
    <!-- 定义该组件位于view01组件的下方 -->
    <TextView
       android:id="@+id/view03"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:background="@drawable/leaf"
       android:layout_below="@id/view01"
       android:layout_alignLeft="@id/view01"
     />
    <!-- 定义该组件位于view01组件的左边 -->
    <TextView
       android:id="@+id/view04"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:background="@drawable/leaf"
       android:layout_toLeftOf="@id/view01"
       android:layout_alignTop="@id/view01"
     />
    <!-- 定义该组件位于view01组件的右边 -->
    <TextView
       android:id="@+id/view05"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:background="@drawable/leaf"
       android:layout_toRightOf="@id/view01"
       android:layout_alignTop="@id/view01"
     />
    </RelativeLayout>

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

import android.app.Activity;
import android.os.Bundle; 

public class RelativeLayoutTest extends Activity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        findViewById(R.id.view01).setPadding(5, 5 , 5 , 5); //设置各个控件之间的间距
        findViewById(R.id.view02).setPadding(5, 5 , 5 , 5);
        findViewById(R.id.view03).setPadding(5, 5 , 5 , 5);
        findViewById(R.id.view04).setPadding(5, 5 , 5 , 5);
        findViewById(R.id.view05).setPadding(5, 5 , 5 , 5);
    }
} 
时间: 2024-10-25 19:52:06

Android RelativeLayout的相关文章

Android RelativeLayout中实现控件平分屏幕

? 1 <!-- ? 1 RelativeLayout 达到平分效果 ? 1 --> ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <br><RelativeLayout     android:layout_width="fill_parent"     android:layout_height="wrap_content">     <View<br&g

Android RelativeLayout 属性说明

// 相对于给定ID控件android:layout_above 将该控件的底部置于给定ID的控件之上;android:layout_below 将该控件的底部置于给定ID的控件之下;android:layout_toLeftOf 将该控件的右边缘与给定ID的控件左边缘对齐;android:layout_toRightOf 将该控件的左边缘与给定ID的控件右边缘对齐; android:layout_alignBaseline 将该控件的baseline与给定ID的baseline对齐;andro

[Android] RelativeLayout, LinearLayout,FrameLayout

Android RelativeLayout 属性 // 相对于给定ID控件 android:layout_above 将该控件的底部置于给定ID的控件之上; android:layout_below 将该控件的底部置于给定ID的控件之下; android:layout_toLeftOf    将该控件的右边缘与给定ID的控件左边缘对齐; android:layout_toRightOf  将该控件的左边缘与给定ID的控件右边缘对齐; android:layout_alignBaseline 

从零开始学android&lt;RelativeLayout相对布局.十六.&gt;

相对布局管理器指的是参考某一其他控件进行摆放,可以通过控制,将组件摆放在一个指定参考组件的上.下.左.右等位置,这些可以直接通过各个组件提供的属性完成. 下面介绍一下各个方法的基本使用 No. 属性名称 对应的规则常量 描述 1 android:layout_below RelativeLayout.BELOW 摆放在指定组件的下边 2 android:layout_toLeftOf RelativeLayout.LEFT_OF 摆放在指定组件的左边 3 android:layout_toRig

Android RelativeLayout属性,android:descendantFocusability属性用法

1.RelativeLayout属性 android:layout_above="@id/xxx" --将控件置于给定ID控件之上android:layout_below="@id/xxx" --将控件置于给定ID控件之下android:layout_toLeftOf="@id/xxx" --将控件的右边缘和给定ID控件的左边缘对齐android:layout_toRightOf="@id/xxx" --将控件的左边缘和给定I

Android: RelativeLayout中的baseline是什么?

转载自: http://www.cnblogs.com/loulijun/archive/2012/10/17/2727580.html 中文翻译是基准线的意思,看似简单又有些不好理解,其实这个baseline相当于笔记本里写文字时候的底下的那条线,在RelativeLayout中baseline举例: 比如,加入两个相邻的TextView,给第二个TextView一个大一点的padding(比如20dp),如果加了layout_alignBaseline到第二个TextView中的话,Text

Android RelativeLayout&#160;实现左右中布局

效果图如下: 代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"

Android - RelativeLayout布局

RelativeLayout布局 本文地址:http://blog.csdn.net/caroline_wendy RelativeLayout是一种相对布局方式,是根据属性进行对齐: A Layout where the positions of the children can be described in relation to each other or to the parent. 在布局中,子控件的位置根据相互之间的关系进行描述. Note that you cannot have

android RelativeLayout 内容居中解决办法

使用Linearlayout本来利用父控件的gravity属性是很好解决的.但是对应RelativeLayout虽然有 gravity属性,但是如果你使用,你会发现实际他是不能生效的. 解决办法: 在RelativeLayout的子空间里,使用以下3个属性就行了. android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:layout_centerInPar