出现时,Android软键盘会占用布局

这是一个布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="0px"
            android:layout_weight="1" />

        <FrameLayout
            android:background="#0000ff"
            android:layout_width="match_parent"
            android:layout_height="0px"
            android:layout_weight="1" />

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="0px"
            android:layout_weight="1" />

    </LinearLayout>

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" />

</RelativeLayout>

当触摸EditText并出现软键盘时,我想要蓝条保持不动。 也就是说,我希望它的大小和位置得到保留。 我在AndroidManifest中为我的activity的参数android:windowSoftInputMode尝试了所有四个可能的值。 总是我的蓝色条在软键盘上移动或缩小:

android:windowSoftInputMode="adjustUnspecified"或默认情况下:

在这里输入图像描述

android:windowSoftInputMode="adjustPan"android:windowSoftInputMode="adjustNothing"

在这里输入图像描述

android:windowSoftInputMode="adjustResize"

在这里输入图像描述

软键keyb出现时,是否可以保持相同的大小和位置?


由于输入是进入你的EditText ,它总是会移动一些东西。

考虑有两种布局,一种用于键盘关闭时,一种用于键盘启动时。

使用ViewSwitcher可能会有所帮助。


您必须使用<ScrollView>作为主布局。 例:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent">
   ....
</ScrollView>

或在AndroidManiFest.xml中使用此代码:

<activity
     android:windowSoftInputMode="adjustNothing">
</activity>

我认为这是因为您正在使用LinearLayout。 你能否改变你的内部布局与相对布局? 在目前情况下,由于线性布局,键盘只会改变组件之间的边距。 并用adjustNothing改变你的配置。

链接地址: http://www.djcxy.com/p/93421.html

上一篇: android soft keyboard spoils layout when appears

下一篇: How to keep all fields and texts visible while the soft keyboard is shown