Tom
Tom

Reputation: 461

Relative Layout Centering

Within the RelativeLayout I'm trying to figure out how to center the bottom TextView (@id/btn_traffic_map) horizontally below the other four TextViews. Everything else on the screen is centered except that one view. It is showing slightly right of center.

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

Upvotes: 0

Views: 1507

Answers (1)

Tiko
Tiko

Reputation: 1000

put RelativeLayout inside 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>

Upvotes: 1

Related Questions