Gravity and layout gravity
suggest changeandroid:layout_gravity
android:layout_gravity
is used to set the position of an element in its parent (e.g. a childView
inside aLayout
).- Supported by LinearLayout and FrameLayout
android:gravity
android:gravity
is used to set the position of content inside an element (e.g. a text inside aTextView
).
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:orientation="vertical"> <LinearLayout android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:orientation="vertical" android:layout_gravity="left" android:gravity="center_vertical"> <TextView android:layout_width="@dimen/fixed" android:layout_height="wrap_content" android:text="@string/first" android:background="@color/colorPrimary" android:gravity="left"/> <TextView android:layout_width="@dimen/fixed" android:layout_height="wrap_content" android:text="@string/second" android:background="@color/colorPrimary" android:gravity="center"/> <TextView android:layout_width="@dimen/fixed" android:layout_height="wrap_content" android:text="@string/third" android:background="@color/colorPrimary" android:gravity="right"/> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:orientation="vertical" android:layout_gravity="center" android:gravity="center_vertical"> <TextView android:layout_width="@dimen/fixed" android:layout_height="wrap_content" android:text="@string/first" android:background="@color/colorAccent" android:gravity="left"/> <TextView android:layout_width="@dimen/fixed" android:layout_height="wrap_content" android:text="@string/second" android:background="@color/colorAccent" android:gravity="center"/> <TextView android:layout_width="@dimen/fixed" android:layout_height="wrap_content" android:text="@string/third" android:background="@color/colorAccent" android:gravity="right"/> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="0dp" android:layout_weight="1" android:orientation="vertical" android:layout_gravity="right" android:gravity="center_vertical"> <TextView android:layout_width="@dimen/fixed" android:layout_height="wrap_content" android:text="@string/first" android:background="@color/colorPrimaryDark" android:gravity="left"/> <TextView android:layout_width="@dimen/fixed" android:layout_height="wrap_content" android:text="@string/second" android:background="@color/colorPrimaryDark" android:gravity="center"/> <TextView android:layout_width="@dimen/fixed" android:layout_height="wrap_content" android:text="@string/third" android:background="@color/colorPrimaryDark" android:gravity="right"/> </LinearLayout> </LinearLayout>
Which gets rendered as following:

Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents