我似乎无法使android:windowSoftInputMode =“stateVisible | adjustResize”选项工作。 当软键盘显示时,滚动视图不会自动滚动到底部。
编辑:我尝试使用adjustPan(stateVisible | adjustPan),但会发生滚动视图被禁用的情况。
解决方案:最后,我发现了一个有效的建议。我创建了一个OnGlobalLayoutListener()并将其添加到我的滚动视图中。我检查了我的活动的根视图(这是我的滚动视图)的高度是否发生了变化。如果是的话,我假设显示了软键盘。
点击here了解详情。
这是我的源代码:
的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>
带键盘的登录屏幕 - 滚动视图不会滚动
期望的结果
答案 0 :(得分:4)
解决方案:最后,我发现了一个有效的建议。我创建了一个OnGlobalLayoutListener()并将其添加到我的滚动视图中。我检查了我的活动的根视图(这是我的滚动视图)的高度是否发生了变化。如果是的话,我假设显示了软键盘。
点击here了解详情。
答案 1 :(得分:0)
尝试
android:windowSoftInputMode="adjustPan|stateVisible"
答案 2 :(得分:0)
您可以自动滚动到活动的底部,覆盖Activity
中的onConfigurationChanged()回调:
scrollView.post(new Runnable() {
@Override
public void run() {
scrollView.fullScroll(View.FOCUS_DOWN);
}
});
这意味着,当活动通过 AndroidManifest 文件中的活动声明中的configChanges属性更改其布局时,您还必须告诉您希望调用回调的活动:
<activity
android:configChanges="screenLayout|screenSize" <!-- Don't know which could actually do the trick -->
... >
</activity>
我希望这可以帮到你。
答案 3 :(得分:0)
在清单中:
refMembers.queryOrderedByValue().queryEqual(toValue: true).observe(.value, with: { (snap) in
Logger.sharedInstance.log(whatToPrint: snap.childrenCount as AnyObject)
******* here i get no data*******
})
在布局xml底部的scrollview的所有子布局中设置一个textview,例如
android:windowSoftInputMode="adjustPan|stateVisible"
答案 4 :(得分:-2)
我发现如果我在滚动视图上设置了布局参数,那么它就行不通了。一旦删除了布局参数,它就会按预期工作。我无法解释原因,只是让别人知道什么对我有用。