Volodymyr
Volodymyr

Reputation: 198

Android align layout center

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>

Upvotes: 13

Views: 44153

Answers (3)

Apoorv
Apoorv

Reputation: 13520

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

Upvotes: 16

Rahul Gupta
Rahul Gupta

Reputation: 5295

Here is my code and my layout. I hope this is what you need. :-

<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=".MainActivity" >

<RelativeLayout
    android:id="@+id/relativeLayout1"
    android:layout_width="250dp"
    android:layout_height="250dp"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:background="@drawable/square_empty" >

    <RelativeLayout
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:background="@drawable/square_empty" >

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_below="@+id/textView1"
            android:layout_centerHorizontal="true"
            android:layout_marginBottom="14dp"
            android:text="TextView" />

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="14dp"
            android:src="@drawable/ic_launcher" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/imageView1"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="22dp"
            android:text="TextView" />
    </RelativeLayout>
</RelativeLayout>

<ImageButton
    android:id="@+id/imageButton1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:src="@drawable/ic_launcher" />

<ImageButton
    android:id="@+id/imageButton2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/imageButton1"
    android:layout_toRightOf="@+id/imageButton1"
    android:src="@drawable/ic_launcher" />

<ImageButton
    android:id="@+id/imageButton3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/imageButton2"
    android:layout_toRightOf="@+id/imageButton2"
    android:src="@drawable/ic_launcher" />

<ImageButton
    android:id="@+id/imageButton4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/imageButton3"
    android:layout_toRightOf="@+id/imageButton3"
    android:src="@drawable/ic_launcher" />

and here is the snapshot :-

enter image description here

Upvotes: 1

pshegger
pshegger

Reputation: 2596

Try adding android:layout_above=@id/relativeLayout1 to your logo layout.

Upvotes: 0

Related Questions