我似乎无法使android:windowSoftInputMode="stateVisible|adjustResize"选项起作用。当软键盘出现时,滚动视图不会自动向下滚动到底部。
编辑:我尝试使用adjustPan代替(stateVisible | adjustPan),但是滚动视图被禁用了。
解决方案:最终,我找到了一个有效的建议。我创建了一个OnGlobalLayoutListener()并将其添加到我的滚动视图中。我检查了我的活动的根视图(即我的滚动视图)的高度是否改变。如果是,我假设软键盘已显示。
点击这里获取更多信息。
以下是我的源代码:
登录界面带键盘 - 滚动视图无法滚动 期望的结果
编辑:我尝试使用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>
登录界面带键盘 - 滚动视图无法滚动 期望的结果
loginScrollView.post(() -> loginScrollView.fullScroll(ScrollView.FOCUS_DOWN));
- 6rchid