Android - 键盘消失时仍留有空白区域

时间:2015-05-07 05:02:36

标签: android android-softkeyboard soft-keyboard

我遇到键盘问题。当它消失时,它占用的空间仍为空白,其余布局不会调整

正常屏幕:

enter image description here

键盘:

enter image description here

键盘被解雇了:

enter image description here

我以前从未见过这个,所以我甚至不确定从哪里开始寻找。这发生在4.2.2以及5.1

另一条重要信息是这是一个包含所有内容的自定义LinearLayout。也许它与此有关。如有必要,我可以上传任何代码。

这是主要的布局文件shell。

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

<!-- Menu (Drawer)-->
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:visibility="visible"
    android:layout_height="match_parent"
    android:orientation="vertical" >
     <ScrollView
        android:id="@+id/activity_main_menu_listview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/drawer_background"
        android:cacheColorHint="#00000000" >
     </ScrollView>
</LinearLayout>
<!-- Fragment Holder -->
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <!-- This is where fragment will show up -->
    <FrameLayout
        android:id="@+id/fragment_master"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </FrameLayout>
</LinearLayout>

这是我的清单文件

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MasterActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

2 个答案:

答案 0 :(得分:3)

我添加了

android:windowSoftInputMode="adjustPan"

到我的活动标签中的清单,现在它可以正常工作。我以前从来没有这么做过,我想我的自定义布局会以某种方式弄乱键盘。

感谢@eee评论指出了我正确的方向

答案 1 :(得分:0)

尝试将 ScrollView 更改为 androidx.core.widget.NestedScrollView

这帮助我解决了问题