What is exact difference between gravity and layout_gravity [duplicate]
Asked Answered
P

3

17

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

Pieeyed answered 20/12, 2012 at 5:29 Comment(2)
gravity aligns the content of a view, layout_gravity aligns a view within its parent.Ammunition
These videos helped me a lot to understand the difference: youtube.com/watch?v=DxfYeAUd238Ichthyosis
S
11
  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.
Salpiglossis answered 20/12, 2012 at 5:33 Comment(0)
D
4

Their name should help you :
android:gravity sets the gravity of the content of the View its used on.
android:layout_gravity sets the gravity of the View or Layout in its parent.

For more info visit this site

Damek answered 20/12, 2012 at 6:7 Comment(0)
F
1

android:gravity sets the gravity of the content of the View its used on.

android:layout_gravity sets the gravity of the View or Layout in its parent.

Frampton answered 20/12, 2012 at 5:40 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.