How to center the content inside a linear layout? How to center the content inside a linear layout? android android

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" >