[英]Ionic ion-content not scrolling down when keyboard shows (Android)
我有一个登录表单的简单视图。 在Android上,如果打开键盘,则内容不会向上滚动以防止它进入键盘后面。
我按照文档中的键盘说明,阅读了很多论坛帖子,但我还没弄明白。
我安装了Keyboard插件com.ionic.keyboard
。
这是页面的结构:
<ion-nav-view>
<ion-view>
<ion-content>
...<form>..Login form..</form>...
</ion-content>
</ion-view>
</ion-nav-view>
如果我在页面中添加了一些额外的虚拟内容,则表明离子内容确实是可滚动的。 但是,当通过聚焦输入打开键盘时,它不会向上移动。
1.0.0-beta.13
还有什么我必须做的吗?
在声明键盘插件的部分中,尝试添加以下内容:
if (window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(false);
}
我通过在AndroidManifest.xml文件中设置以下值来阻止我的项目中的滚动属性。
android:windowSoftInputMode = "adjustNothing"
请检查AndroidManifest.xml中 android:windowSoftInputMode
值是否为adjustResize
。 如果没有,请将其更新为adjustResize
。
我希望你能。 谢谢
在Android和iOS上,Ionic将尝试通过将键盘滚动到视图中来防止键盘在显示时隐藏输入和可聚焦元素。 为了实现这一点,任何可聚焦元素都必须位于Scroll View或指令中,例如具有Scroll View的Content。
在我的情况下,有一个页脚在键盘显示时隐藏输入。
看到github.com/driftyco/ionic/issues/2151 ,虽然它是一个封闭的bug,但似乎它仍然是一个问题。
对我来说,似乎滚动不知道如何正确计算它是否应该滚动,因为它不会在计算中考虑页脚。 如果内容从第一个位置足够大,那么它知道它必须滚动。
我最终用完了
$timeout(function() {
$ionicScrollDelegate.scrollBottom(true);
}, 300);
并增加了一些<br/>
在我的底部ion-content
。 有足够的空间,所以它不会对我有任何影响,bug将导致滚动正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.