How to center the content inside a linear layout?
android:gravity
handles the alignment of its children,
android:layout_gravity
handles the alignment of itself.
So use one of these.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#000" android:baselineAligned="false" android:gravity="center" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".Main" > <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" > <ImageView android:id="@+id/imageButton_speak" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/image_bg" android:src="@drawable/ic_speak" /> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" > <ImageView android:id="@+id/imageButton_readtext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/image_bg" android:src="@drawable/ic_readtext" /> </LinearLayout> ...</LinearLayout>
or
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#000" android:baselineAligned="false" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".Main" > <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="1" > <ImageView android:id="@+id/imageButton_speak" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@drawable/image_bg" android:src="@drawable/ic_speak" /> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="1" > <ImageView android:id="@+id/imageButton_readtext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@drawable/image_bg" android:src="@drawable/ic_readtext" /> </LinearLayout> ...</LinearLayout>
android:layout_gravity
is used for the layout itself
Use android:gravity="center"
for children of your LinearLayout
So your code should be:
<LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:gravity="center" android:layout_weight="1" >
I tried solutions mentioned here but It didn't help me. I mind the solution is layout_width
have to use wrap_content
as value.
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:layout_weight="1" >