问题
I have a problem that I have a login Screen in which when we click on Edit Text the SoftInput Keyboard override the two widgets One is TextView and another is Login Button which are in Relative Layout, but I want when we select any Edit Text the whole Relative layout should goes Up and all widgets are visible above the softinput Keyboard of Android default. Please suggest me for the right solution.
Thanks in advance.
My Layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:background="#ffffff">
<FrameLayout android:id="@+id/frame"
android:layout_gravity="top|bottom|center_horizontal"
android:layout_width="wrap_content" android:layout_marginTop="10dip" android:layout_height="wrap_content">
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:background="@drawable/logo" >
</ImageView>
</FrameLayout>
<RelativeLayout android:id="@+id/frameLayout1"
android:layout_width="wrap_content" android:background="@drawable/login_box_bg"
android:layout_gravity="center_horizontal" android:layout_height="220dip" android:layout_marginTop="20dip">
<EditText android:id="@+id/ed_Login_Email"
android:background="@drawable/login_input_bg" android:layout_gravity="center_horizontal" android:layout_marginTop="10dip" android:hint="Email:" android:paddingLeft="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="text" android:layout_centerHorizontal="true">
</EditText>
<EditText android:background="@drawable/login_input_bg" android:layout_gravity="center_horizontal" android:id="@+id/ed_Login_Pwd"
android:inputType="textPassword" android:hint="Password:" android:paddingLeft="10dip" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="50dip" android:layout_centerHorizontal="true">
</EditText>
<ImageView
android:id="@+id/img_Login_RememberUnchecked"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:background="@drawable/checkbox_unchkd_large" android:layout_gravity="top|left" android:layout_marginLeft="15dip" android:layout_marginTop="100dip" android:clickable="true"/>
<TextView
android:id="@+id/tv_Login_RememberMeUnchecked"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Remember Me" android:textColor="#000000" android:layout_gravity="top|left" android:layout_marginLeft="35dip" android:layout_marginTop="102dip" android:clickable="true"/>
<Button
android:id="@+id/btn_Login_Login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_Login_RememberMeUnchecked"
android:layout_centerHorizontal="true"
android:layout_marginTop="14dp"
android:background="@drawable/login_btn_bg"
android:text="LOG IN"
android:textColor="#ffffff" />
<TextView
android:id="@+id/tv_Login_ForgotPwd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="15dp"
android:clickable="true"
android:text="Forgot your password?"
android:textColor="#000000" />
</RelativeLayout>
</LinearLayout>
Please refer below images for more understanding:
I have tried with android:windowSoftInputMode="stateVisible|adjustResize" but nothing happens, problem remains same.
回答1:
Please change the windows soft input mode to Resize , To change the mode to “resize” add the following statement to your activity in AndroidManifest file.
<activity android:name="YourActivityName" android:windowSoftInputMode="adjustResize">
来源:https://stackoverflow.com/questions/8784586/layout-should-go-up-when-soft-keyboard-came-in-front-of-view-in-android