相对布局居中

时间:2012-01-25 19:54:56

标签: android android-layout

在RelativeLayout中,我试图找出如何将底部TextView(@ id / btn_traffic_map)水平居中于其他四个TextView的下方。除了一个视图外,屏幕上的其他所有内容都是居中的。它显示出略微正确的中心位置。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

  <FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/app_header_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/app_header_background">

    <ImageView
      android:id="@+id/app_header_logo"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/app_header_logo"/>

    <TextView
      android:id="@+id/app_header_text"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="bottom|right"
      android:gravity="center"
      android:textStyle="bold"
      android:textColor="@color/app_header_text"/>
  </FrameLayout>

  <RelativeLayout
    android:id="@+id/main_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center">

    <TextView
      android:id="@+id/btn_news"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginRight="10dp"
      android:gravity="center_horizontal"
      android:textSize="20sp"
      android:textStyle="bold"
      android:drawableTop="@drawable/home_news"
      android:text="News"/>

    <TextView
      android:id="@+id/btn_events"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_toRightOf="@id/btn_news"
      android:gravity="center_horizontal"
      android:textSize="20sp"
      android:textStyle="bold"
      android:drawableTop="@drawable/home_events"
      android:text="Events"/>

    <TextView
      android:id="@+id/btn_wtmc"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginRight="10dp"
      android:layout_below="@id/btn_news"
      android:gravity="center_horizontal"
      android:textSize="20sp"
      android:textStyle="bold"
      android:drawableTop="@drawable/home_wtmc_off"
      android:text="WTMC"/>

    <TextView
      android:id="@+id/btn_social"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_below="@id/btn_events"
      android:layout_toRightOf="@id/btn_wtmc"
      android:gravity="center_horizontal"
      android:textSize="20sp"
      android:textStyle="bold"
      android:drawableTop="@drawable/home_social"
      android:text="Social"/>

    <TextView
      android:id="@+id/btn_traffic_map"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_below="@id/btn_wtmc"
      android:layout_centerHorizontal="true"
      android:gravity="center_horizontal"
      android:textSize="20sp"
      android:textStyle="bold"
      android:drawableTop="@drawable/home_traffic"
      android:text="Traffic"/>

  </RelativeLayout>
</LinearLayout>

1 个答案:

答案 0 :(得分:1)

将RelativeLayout放在LinearLayout

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center" >
 <RelativeLayout
        android:id="@+id/main_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center" >

     /////////////////////
    <TextView
         android:id="@+id/btn_traffic_map"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_below="@id/btn_wtmc"
         android:layout_centerInParent="true" //important line
         android:text="Traffic"
         android:textSize="20sp"
         android:textStyle="bold" />
      </RelativeLayout>
</LinearLayout>