Will Nasby
Will Nasby

Reputation: 1148

editText not centering

I have a large editText that no matter what I try, won't center. I have tried putting it in a horizontal and vertical linear layout and then setting that gravity to center because setting the imageText's gravity to center, it still hugs the left of my activity.

<EditText
        android:id="@+id/editText1"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:ems="10"
        android:gravity="center"
        android:lines="8"
        android:maxLines="8"
        android:minLines="8" >

    </EditText>

And here is what it is doing:

enter image description here

Full xml:

<LinearLayout 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:orientation="vertical"
    android:background="@drawable/corkboard"
    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" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:orientation="horizontal" >

        <ToggleButton 
            android:id="@+id/facebook_tb"
            android:background="@drawable/facebook_toggle"   
            android:layout_margin="10dp"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:scaleType="centerInside"
            android:textOn=""
            android:textOff=""
            android:focusable="false"
            android:focusableInTouchMode="false"
            android:layout_centerVertical="true"/>

        <ToggleButton 
            android:id="@+id/twitter_tb"
            android:background="@drawable/twitter_toggle"   
            android:layout_margin="10dp"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:scaleType="centerInside"
            android:textOn=""
            android:textOff=""
            android:focusable="false"
            android:focusableInTouchMode="false"
            android:layout_centerVertical="true"/>

    </LinearLayout>    

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:orientation="horizontal" >

        <ToggleButton 
            android:id="@+id/googleplus_tb"
            android:background="@drawable/googleplus_toggle"   
            android:layout_margin="10dp"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:scaleType="centerInside"
            android:textOn=""
            android:textOff=""
            android:focusable="false"
            android:focusableInTouchMode="false"
            android:layout_centerVertical="true"/>

        <ToggleButton 
            android:id="@+id/tumblr_tb"
            android:background="@drawable/tumblr_toggle"   
            android:layout_margin="10dp"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:scaleType="centerInside"
            android:textOn=""
            android:textOff=""
            android:focusable="false"
            android:focusableInTouchMode="false"
            android:layout_centerVertical="true"/>

    </LinearLayout>   

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
    </LinearLayout>



    <ImageButton
        android:id="@+id/angry_btn"
        android:background="@drawable/pushpin"   

        android:layout_width="80dp"
        android:layout_height="80dp"
        android:shadowDx="0"
        android:shadowDy="0"
        android:layout_gravity="center"
        android:shadowRadius="5"
    />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:ems="10"
        android:gravity="center"
        android:lines="8"
        android:maxLines="8"
        android:minLines="8" >

    </EditText>


</LinearLayout>

Upvotes: 2

Views: 1140

Answers (3)

Amulya Khare
Amulya Khare

Reputation: 7698

Use:

1) android:layout_gravity="center" to center it both vertically and horizontally.

2) android:layout_gravity="center_horizontal" to center it horizontally only.

3) android:layout_gravity="center_vertical" to center it vertically only.

So it should be:

<EditText
            android:id="@+id/editText1"
            android:layout_width="250dp"
            android:layout_height="wrap_content"
            android:ems="10"
            android:lines="8"
            android:maxLines="8"
            android:minLines="8"
            <!-- whichever mode you want here! -->
            android:layout_gravity="center_horizontal"> 

    </EditText>

Upvotes: 2

Jitender Dev
Jitender Dev

Reputation: 6925

Add android:layout_gravity="center" in your EditText

Like this

<EditText
        android:layout_gravity="center"
        android:id="@+id/editText1"
        android:layout_width="250dp"
        android:layout_height="wrap_content"
        android:ems="10"
        android:gravity="center"
        android:lines="8"
        android:maxLines="8"
        android:minLines="8" >

    </EditText>

layout_gravity is the outside gravity of a view whereas gravity is the inside gravity of a view.

Upvotes: 2

ρяσѕρєя K
ρяσѕρєя K

Reputation: 132972

use android:layout_gravity instead of android:gravity to set gravity of View in its parent

Upvotes: 1

Related Questions