Skip to content Skip to sidebar Skip to footer

Linearlayout, Layout_gravity Not Working Properly

I'm trying to design a LinearLayout within a ScrollView, as the whole content will be pushed up when the keyboard will be activated. XML code I'm having issues with:

Solution 1:

Try this code.

You can apply multiple gravity attributes by doing something like

android:layout_gravity="top|center_horizontal"

To align the element itself in it's parent you have to use android:layout_gravity to align the content of the element, say the text in a textview, you use android:gravity

When you need extra space between your elements it's not necessary to give the element a more than needed height like you did with the EditText. Simply add a <Space>element to provide lightweight empty spaces in your layout.

This is how I applied it to your code:

<?xml version="1.0" encoding="utf-8"?><ScrollViewxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:fillViewport="true"><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="#e0ab18"android:orientation="vertical"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="com.FET.leonardo.scurcola.NameSelection"><TextViewandroid:id="@+id/whoMaster"android:layout_width="wrap_content"android:layout_height="0dp"android:layout_gravity="top|center_horizontal"android:gravity="center_horizontal"android:layout_marginTop="25dp"android:layout_weight="5"android:text="@string/whoMaster"android:textAlignment="center"android:textColor="@color/white"android:textSize="50sp"/><EditTextandroid:id="@+id/names"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:ems="10"android:hint="@string/master"android:inputType="textPersonName"android:textColor="@color/white"android:textColorHighlight="@color/white"android:textColorHint="@color/white"/><Spaceandroid:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="2"/><TextViewandroid:id="@+id/playersLeft"android:layout_width="wrap_content"android:layout_height="0dp"android:layout_gravity="center"android:layout_weight="3"android:text="@string/zero"android:textColor="@color/white"android:textSize="50sp"/><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="0dp"android:layout_gravity="bottom|center_horizontal"android:layout_weight="2"android:orientation="horizontal"><Buttonandroid:id="@+id/back"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="end|center"android:layout_marginRight="12dp"android:enabled="false"android:onClick="onClick"android:text="@string/back"android:textColor="#e0ab18"/><Buttonandroid:id="@+id/next"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="start|center"android:layout_marginLeft="12dp"android:onClick="onClick"android:text="@string/next"android:textColor="#e0ab18"
                /><Buttonandroid:id="@+id/finish"android:layout_width="0dp"android:layout_height="wrap_content"android:onClick="onClick"android:text="@string/finish"android:textColor="#e0ab18"android:visibility="gone"/></LinearLayout></LinearLayout></ScrollView>

Solution 2:

android:windowSoftInputMode="stateVisible|adjustPan"

Add this in your AndroidManifest file in respective activity.

Solution 3:

layout_gravity is intended to use with FrameLayout and defines the positioning of an element with layout_gravity set inside the enclosing FrameLayout. For LinearLayout it'll be simply ignored

Solution 4:

<?xml version="1.0" encoding="utf-8"?><ScrollViewxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:fillViewport="true"><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="#e0ab18"android:orientation="vertical"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="com.FET.leonardo.scurcola.NameSelection"><TextViewandroid:id="@+id/whoMaster"android:layout_width="match_parent"android:layout_height="0dp"android:layout_marginTop="25dp"android:layout_weight="3"android:text="who is master"android:textAlignment="center"android:textColor="@color/white"android:textSize="50sp" /><EditTextandroid:id="@+id/names"android:layout_width="wrap_content"android:layout_height="0dp"android:layout_gravity="center"android:layout_weight="3"android:ems="10"android:gravity="center"android:hint="master's name"android:inputType="textPersonName"android:textColor="@color/white"android:textColorHighlight="@color/white"android:textColorHint="@color/white" /><TextViewandroid:id="@+id/playersLeft"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="2"android:gravity="center"android:text="9"android:textColor="@color/white"android:textSize="50sp" /><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="0dp"android:layout_weight="2"android:gravity="center"android:orientation="horizontal"><Buttonandroid:id="@+id/next"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="start|center"android:onClick="onClick"android:text="next"android:textColor="#e0ab18" /><Buttonandroid:id="@+id/back"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="end|center"android:enabled="false"android:onClick="onClick"android:text="back"android:textColor="#e0ab18" /><Buttonandroid:id="@+id/finish"android:layout_width="0dp"android:layout_height="wrap_content"android:onClick="onClick"android:text="finish"android:textColor="#e0ab18"android:visibility="gone" /></LinearLayout></LinearLayout></ScrollView>

Check if this helps.

Solution 5:

I have done some modification in your Layout. Some modification in first Linear Layout changes in weights and gravity. And same also in second Linear Layout.

Please apply this modified code in your XML.

<?xml version="1.0" encoding="utf-8"?><ScrollViewxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:fillViewport="true"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="#e0ab18"android:orientation="vertical"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"><TextViewandroid:id="@+id/whoMaster"android:layout_width="wrap_content"android:layout_height="0dp"android:layout_gravity="center"android:layout_marginTop="10dp"android:layout_weight="1"android:gravity="center"android:text="Who's The Master"android:textAlignment="center"android:textColor="#FFFFFF"android:textSize="35sp" /><EditTextandroid:id="@+id/names"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_gravity="center"android:ems="10"android:hint="Master"android:inputType="textPersonName"android:textColor="#FFFFFF"android:layout_marginLeft="30dp"android:layout_marginRight="30dp"android:textColorHighlight="#FFFFFF"android:textColorHint="#FFFFFF" /><TextViewandroid:id="@+id/playersLeft"android:layout_width="wrap_content"android:layout_height="0dp"android:layout_gravity="center"android:layout_marginTop="25dp"android:layout_weight="1"android:gravity="center_vertical"android:text="9"android:textColor="#FFFFFF"android:textSize="35sp" /><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="0dp"android:layout_gravity="bottom"android:layout_weight="1"android:orientation="horizontal"><Buttonandroid:id="@+id/back"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_gravity="end|center"android:layout_weight="0.50"android:enabled="false"android:onClick="onClick"android:text="Back"android:textColor="#e0ab18" /><Buttonandroid:id="@+id/next"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_gravity="start|center"android:layout_weight="0.50"android:onClick="onClick"android:text="Next"android:textColor="#e0ab18" /></LinearLayout></LinearLayout></ScrollView>

Here is screen.

enter image description here

Post a Comment for "Linearlayout, Layout_gravity Not Working Properly"