当Android中的软键盘出现在视图前面时,布局应该会上升

时间:2012-01-09 06:17:53

标签: android android-softkeyboard

我有一个问题,我有一个登录屏幕,当我们点击编辑文本时,SoftInput键盘覆盖两个小部件一个是TextView,另一个是登录按钮,它们处于相对布局,但我想在选择任何编辑时文本整个相对布局应该是Up,并且所有小部件都在Android默认的软输入键盘上方可见。请建议我找到合适的解决方案。

提前致谢。

我的布局:

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

请参阅下面的图片以获得更多理解:

enter image description here

enter image description here

我试过用android:windowSoftInputMode =“stateVisible | adjustResize”但没有任何反应,问题仍然存在。

1 个答案:

答案 0 :(得分:10)

请将Windows软输入模式更改为调整大小,要将模式更改为“调整大小”,请在AndroidManifest文件中将以下语句添加到您的活动中。

<activity android:name="YourActivityName" android:windowSoftInputMode="adjustResize">