如何在RelativeLayout中间垂直对齐?

时间:2013-09-17 18:39:37

标签: android

我有相对布局,如导航栏的容器布局,我已经水平定位所以我不能垂直设置所有都在垂直中心对齐。 如何在RelativeLayout中垂直对齐?

<?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"
    android:background="@drawable/header_background" >

    <Button
        android:id="@+id/btnPrevious"
        android:layout_width="36dip"
        android:layout_height="36dip"
        android:layout_alignParentLeft="true"
        android:background="@drawable/selector_previous_arrow"
        android:paddingLeft="5dp"
        android:paddingTop="10dp"
        android:visibility="gone" />

    <TextView
        android:id="@+id/title"
        style="@style/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:paddingTop="10dp"
        android:text="Title" />

    <Button
        android:id="@+id/refresh"
        android:layout_width="36dip"
        android:layout_height="36dip"
        android:layout_alignParentRight="true"
        android:background="@drawable/selector_refresh"
        android:paddingLeft="5dp"
        android:paddingTop="10dp"
        android:paddingRight="5dp"
        android:visibility="gone" />

    <Button
        android:id="@+id/filter"
        android:layout_width="36dip"
        android:layout_height="36dip"
        android:layout_toLeftOf="@+id/refresh"
        android:background="@drawable/selector_filter"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:paddingTop="10dp"
        android:visibility="gone" />

</RelativeLayout>

3 个答案:

答案 0 :(得分:0)

在您要居中的元素上尝试android:layout_centerVertical="true"

答案 1 :(得分:0)

将此行放入RelativeLayout:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/header_background" 

    android:layout_centerVertical="true">

现在所有元素将在垂直中心对齐。

答案 2 :(得分:-2)

您可以使用gui拖动任何想要垂直对齐的内容。它将捕捉到中心并说出“中心”

或尝试

android:gravity="center_vertical"

android:layout_centerVertical="true"