Android align layout center

Volodymyr picture Volodymyr · Nov 14, 2013 · Viewed 38.2k times · Source

I`m trying to make Layout with LOGO and TEXT align center between ActionBar and Bottom layout. Like this

I try to do it, but it does not work corectly. It make the layout with logo by center of the scree. It look like this

Does the anybody know where is misteke? My code:

<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">

//MainLayout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="text" >

//LOGO Layout
<RelativeLayout
    android:id="@+id/relativeLayout0"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:gravity="center_vertical|center_horizontal|center" >

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="@dimen/mainlogo_height"
    android:src="@drawable/gerb_big" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/imageView1"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="17dp"
    android:gravity="center"
    android:text="text"
    android:textColor="#900000"
    android:textSize="@dimen/OA_size" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/imageView1"
    android:layout_centerHorizontal="true"
    android:gravity="center"
    android:text="text"
    android:textColor="#900000"
    android:textSize="@dimen/NU_size" />

</RelativeLayout>

//Bottom Layout
<RelativeLayout
    android:id="@+id/relativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_centerHorizontal="true"
    android:layout_centerInParent="false"
    android:layout_centerVertical="true"
    android:gravity="bottom|center_horizontal|center" >

    <ImageButton
        android:id="@+id/home"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:background="#ffffff"
        android:onClick="home_Click"
        android:scaleType="fitXY"
        android:src="@drawable/home" />

    <ImageButton
        android:id="@+id/news"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:layout_toRightOf="@+id/home"
        android:background="#ffffff"
        android:onClick="news_Click"
        android:scaleType="fitXY"
        android:src="@drawable/database" />

    <ImageButton
        android:id="@+id/anons"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:layout_toRightOf="@+id/news"
        android:background="#ffffff"
        android:onClick="annons_Click"
        android:scaleType="fitXY"
        android:src="@drawable/calendar" />

    <ImageButton
        android:id="@+id/faculty"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:layout_toRightOf="@+id/anons"
        android:background="#ffffff"
        android:onClick="faculty_Click"
        android:scaleType="fitXY"
        android:src="@drawable/category" />

</RelativeLayout>



</RelativeLayout>
</android.support.v4.widget.DrawerLayout>

Answer

Apoorv picture Apoorv · Nov 14, 2013

Create a LinearLayout that is the child of the root layout and wraps all the other layouts and then change

<RelativeLayout
android:id="@+id/relativeLayout0"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:gravity="center" >

to

<RelativeLayout
android:id="@+id/relativeLayout0"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:gravity="center_vertical|center_horizontal|center" >

or add android:layout_above="@+id/relativeLayout1" to your LOGO layout