Android 软键盘推送浏览量

Android soft keyboard pushing views

我正在为 android 开发一个软键盘,我遇到了一个我无法解决的问题。问题是,当我打开键盘时,它会错误地移动其他视图(见图片,我的键盘在左边)。

我尝试了在 Whosebug 或其他地方找到的多种解决方案,但它们对我不起作用。

我试过:

android:windowSoftInputMode="adjustResize"
android:windowSoftInputMode="stateHidden|adjustPan"
android:windowSoftInputMode="adjustResize|stateVisible|stateAlwaysHidden"

但它并没有改变您在屏幕截图中看到的行为。

所以,请帮我解决这个问题。

Ps。我知道有很多类似的问题提供 "adjustResize""stateHidden|adjustPan",但它对我不起作用。

P.p.s 截图是在 android 6.0.1.

谢谢。

您只需将 activity 的 windowSoftInputMode 标志切换为“adjustPan”。移除 adjustResize.

 <activity
   ...
   android:windowSoftInputMode="adjustPan"> 
   </activity>

尝试用 scrollView 包裹你的布局

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

我终于找到了 answer 我的问题。您需要在扩展 InputMethodService 的 class 中使用此代码:

@Override
public void onComputeInsets(InputMethodService.Insets outInsets) {
     super.onComputeInsets(outInsets);
     if (!isFullscreenMode()) {
        outInsets.contentTopInsets = outInsets.visibleTopInsets;
     }
}

我认为 android:windowSoftInputMode 可以工作,但是像这样:

android:windowSoftInputMode="adjustNothing"

试试吧。