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:
- If I am right in these assumptions, that whether
gravityis for child components andlayout_gravityis for parent component. - When to choose
gravityoverlayout_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
- Yes, your understanding is correct. Any
layout_attribute gives instructions to the parent view. - 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 findgravitymore 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.
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
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.
来源:https://stackoverflow.com/questions/13965883/what-is-exact-difference-between-gravity-and-layout-gravity