android:如何在相对布局中居中?

时间:2013-01-09 10:36:44

标签: android android-layout

我有一个布局,其中红色区块在黑色区域居中,蓝色矩形需要在白色和红色区块之间居中。有人知道如何制作这种布局的框架吗?

enter image description here

2 个答案:

答案 0 :(得分:1)

您必须使用相对布局的一些属性来实现您的目标,您必须执行以下操作:

enter image description here

将上述属性应用于您的视图,您将获得结果。

有关详细信息,请参阅以下链接

Relative layout

答案 1 :(得分:1)

其他答案都没有真正回答问题,问题清楚地标明,中心的红色框和红色框上方的蓝色框。

为了实现这一点,你需要将相对布局中的参数与BlueBox的参数混合,这是一个使用TextViews的例子:

<?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" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:text="Large Text"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:text="Large Text"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@id/textView2"
    android:layout_below="@id/textView1"
    android:layout_centerHorizontal="true"
    android:gravity="center_vertical"
    android:text="Large Text"
    android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>

textView2位于textView1和parentTop之上,因此它将占用所有空间。然后你使用它自己的内部重力使垂直居中,使其内容居中。