Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is exact difference between gravity and layout_gravity [duplicate]

Possible Duplicate:
Android - gravity and layout_gravity

I have been working on android xml's. I have used android:layout_gravity="center" to align components in specific position.

Now a days, when I was working on a Dialog like Activity, I came across android:gravity="center". What I found there was, gravity was used to align its child to a specific position.

I would share an example of what it is,

android:gravity="center"

<LinearLayout 
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_vertical"
    android:orientation="vertical" >
            <EditText
                android:id="@+id/enterNumberEdit"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:hint="Enter No." >

                <requestFocus />
            </EditText>
            </LinearLayout>

It aligns the child of LinearLayout in center.

android:layout_gravity="center"

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:orientation="vertical"
    android:background="@drawable/dialog_background" >
</LinearLayout>

It aligns the LinearLayout itself in center.

Now my questions are:

  1. If I am right in these assumptions, that whether gravity is for child components and layout_gravity is for parent component.
  2. When to choose gravity over layout_gravity.

I have found this much explanation working on xml's so far. I would like to hear much better explanation of it. Let me know, if I am wrong somewhere

like image 734
Sahil Mahajan Mj Avatar asked Dec 20 '12 05:12

Sahil Mahajan Mj


1 Answers

  1. Yes, your understanding is correct. Any layout_ attribute gives instructions to the parent view.
  2. Generally, if a view is taking up the full width/height of its' parent, then you won't need to specify layout_gravity, you'll probably find gravity more useful. If your view does not take up an entire dimension of its' parent, you might want to align it depending on your desired look.
like image 118
wsanville Avatar answered Oct 13 '22 08:10

wsanville