Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

layout of the screen moves up when keyboard is displayed

Tags:

Let say I have the following layout:

enter image description here

when I click on the edit text at the bottom I get this:

enter image description here

As you can notice the image from the top goes upper and the whole layout moves. This is my xml for this layout:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:background="#FFFFFF" >     <LinearLayout        android:id="@+id/header"        android:layout_width="fill_parent"        android:layout_height="75dp"        android:layout_alignParentLeft="true"        android:layout_alignParentRight="true"        android:layout_alignParentTop="true"                android:isScrollContainer="true"        android:background="@drawable/header" >    </LinearLayout>     <ScrollView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:id="@+id/scrollauthentication"        android:layout_below="@+id/header"        android:background="#FFFFFF"        android:fillViewport="true" >         <RelativeLayout            xmlns:android="http://schemas.android.com/apk/res/android"            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:background="#FFFFFF"             android:id="@+id/authenticationrelativelayout">             <TextView                android:id="@+id/login"                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_alignParentLeft="true"                android:layout_below="@+id/header"                android:layout_marginLeft="30dp"                android:layout_marginTop="20dp"                android:text="login"                android:textAppearance="?android:attr/textAppearanceMedium"                android:textColor="@color/lighter_orange"                android:textSize="28dp" />             <TextView                android:id="@+id/usernameTextView"                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_alignLeft="@+id/login"                android:layout_below="@+id/login"                android:layout_marginTop="16dp"                android:text="username"                android:textAppearance="?android:attr/textAppearanceMedium"                android:textColor="@color/dark_gray" />             <EditText                android:id="@+id/user"                android:layout_width="260dp"                android:layout_height="42dp"                android:layout_alignLeft="@+id/usernameTextView"                android:layout_below="@+id/usernameTextView"                android:background="@drawable/edittext_selector"                android:imeOptions="actionDone"                android:lines="1"                android:paddingLeft="10dp" />             <TextView                android:id="@+id/passwordTextView"                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_alignLeft="@+id/user"                android:layout_below="@+id/user"                android:text="password"                android:textAppearance="?android:attr/textAppearanceMedium"                android:textColor="@color/dark_gray" />             <EditText                android:id="@+id/password"                android:layout_width="260dp"                android:layout_height="42dp"                android:layout_alignLeft="@+id/passwordTextView"                android:layout_below="@+id/passwordTextView"                android:background="@drawable/edittext_selector"                android:imeOptions="actionDone"                android:inputType="textPassword"                android:lines="1"                android:paddingLeft="10dp" >                 <requestFocus />            </EditText>             <CheckBox                android:id="@+id/remembercheckBox"                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_alignLeft="@+id/password"                android:layout_below="@+id/password"                android:layout_marginTop="37dp"                android:button="@drawable/checkbox_selector"                android:focusable="true" />             <TextView                android:id="@+id/rememberText"                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:layout_alignBaseline="@+id/remembercheckBox"                android:layout_alignBottom="@+id/remembercheckBox"                android:layout_toRightOf="@+id/remembercheckBox"                android:text="Remember me"                android:textAppearance="?android:attr/textAppearanceMedium"                android:textColor="@color/dark_gray" />        </RelativeLayout>    </ScrollView>     <LinearLayout        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_marginLeft="30dp"        android:layout_below="@+id/scrollauthentication"        android:orientation="horizontal" >         <Button            android:id="@+id/loginButton"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:background="@color/button_selected"            android:text="log in"            android:textColor="@drawable/textblack_selected"            android:textStyle="bold" >        </Button>         <Button            android:id="@+id/forgotten"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_marginLeft="10dp"            android:background="@color/button_selected"            android:text="forgotten password"            android:textColor="@drawable/textblack_selected"            android:textStyle="bold" />    </LinearLayout>  </RelativeLayout> 

And I have also set this in manifest file for this activity:

android:windowSoftInputMode="adjustPan" 

So is there a way to stop my layout from moving when the keyboard is displayed? Thank you!!!!

like image 910
adrian Avatar asked Jul 10 '12 09:07

adrian


People also ask

How do I know my android keyboard is displayed?

Android provides no direct way to determine if the keyboard is open, so we have to get a little creative. The View class has a handy method called getWindowVisibleDisplayFrame from which we can retrieve a rectangle which contains the portion of the view visible to the user.

How do I scroll up layout when clicking on Edittext?

try this android:windowSoftInputMode="adjustResize" in your activity in manifest file.


2 Answers

Try using

android:windowSoftInputMode="adjustPan|adjustResize" 

for the activity.

like image 146
SALMAN Avatar answered Oct 21 '22 06:10

SALMAN


well, I have not mentioned any "windowSoftInputMode" in my app's manifest and it runs fine. Screen does not move up when the keyboard opens up. Try this approach - just remove the "windowSoftInputMode" parameter from your manifest .

like image 42
Yogesh Somani Avatar answered Oct 21 '22 05:10

Yogesh Somani