为什么没有android:windowSoftInputMode ="stateVisible | adjustResize"在显示软键盘时调整屏幕?

Jer*_*imo 5 android scrollview android-softkeyboard

我似乎无法使android:windowSoftInputMode ="stateVisible | adjustResize"选项工作.当软键盘显示时,滚动视图不会自动滚动到底部.

编辑:我尝试使用adjustPan(stateVisible | adjustPan),但会发生什么是滚动视图被禁用.

解决方案:最后,我发现了一个有效的建议.我创建了一个OnGlobalLayoutListener()并将其添加到我的滚动视图中.我检查了我的活动的根视图(这是我的滚动视图)的高度是否发生了变化.如果是,我假设显示了软键盘.

点击此处获取更多信息.

这是我的源代码:

AndroidManifest.xml中

<application
        ...
        android:theme="@android:style/Theme.NoTitleBar" >
        <activity
            ...
            android:screenOrientation="portrait"
            android:windowSoftInputMode="stateVisible|adjustResize" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        ...
</application>
Run Code Online (Sandbox Code Playgroud)

带键盘的登录屏幕 - 滚动视图不滚动 在此输入图像描述

期望的结果 在此输入图像描述

Jer*_*imo 4

解决方案:最后,我找到了一个可行的建议。我创建了一个 OnGlobalLayoutListener() 并将其添加到我的滚动视图中。我检查了我的活动的根视图(即我的滚动视图)的高度是否发生了变化。如果是,我假设显示了软键盘。

点击这里查看更多信息。