Linearlayout, Layout_gravity Not Working Properly
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 firstLinear Layout
changes inweights and gravity
. And same also in secondLinear 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.
Post a Comment for "Linearlayout, Layout_gravity Not Working Properly"