问题
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
gravity
is for child components andlayout_gravity
is for parent component. - When to choose
gravity
overlayout_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
回答1:
- 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 findgravity
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.
回答2:
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
回答3:
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