我是Android应用程序开发的新手,我遇到了键盘覆盖输入字段的问题,我进行了搜索,然后才知道我需要添加
机器人:configChanges = “屏幕尺寸|区域设置”
到xml文件。但是我的目录中没有AndroidManifest.xml。我只有config.xml哪个phonegap提供给我。
然后我发现了这个https://github.com/phonegap/build/issues/160,但我不知道在哪里放这个
机器人:windowSoftInputMode = “VALUE1 |值2 |值N”
在我的config.xml中?
感谢任何帮助 谢谢你
答案 0 :(得分:8)
尝试了@markj接受的答案,但它对我不起作用。 DID的工作是将其添加到我的config.xml中:
<preference name="fullscreen" value="false" />
你确实在应用程序的顶部获得了“状态栏”但对我来说没问题...希望有所帮助
答案 1 :(得分:3)
为什么不使用PhoneGap Build网站上传zip文件?并忘记Amit正在谈论的清单文件。我认为他只会让一切更加混乱。您需要了解本地开发版本和PhoneGap在线版本之间的区别。如果您只想测试应用程序,则无需拥有本地开发环境。您可以压缩www文件夹并将其上传到PhoneGap Build服务。没有命令行的东西,没有复杂的设置。如果要编辑软键盘设置,可以编辑config.xml并插入以下内容:
<preference name="android-windowSoftInputMode" value="stateVisible|adjustResize" />
...或者windowSoftInputMode所需的任何选项。
文档在这里:
https://build.phonegap.com/docs/config-xml#platform
http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft
祝你好运。
答案 2 :(得分:2)
我使用css媒体查询解决了这个问题。
@media (max-height: 600px) {
.login-header i {
display: none;
}
}
键盘调整屏幕大小,因此上面的css隐藏了“登录标题”&#39;当屏幕尺寸低于任意值(例如600px)时。这允许隐藏输入进入视图。
答案 3 :(得分:2)
使用
<preference name="fullscreen" value="true" />
我需要做以下两个
一个。使用https://github.com/madebycm/AndroidBug5497Workaround/blob/master/AndroidBug5497Workaround.java确保cordova / phonegap可以看到窗口高度的变化
湾将以下代码添加到js。根据html的编写方式,这一步是必需的
document.addEventListener('deviceready', onDeviceReady, false);
function onDeviceReady () {
document.addEventListener('hidekeyboard', onKeyboardHide, false);
document.addEventListener('showkeyboard', onKeyboardShow, false);
}
function onKeyboardHide() {
console.log('onKeyboardHide');
}
function onKeyboardShow(e) {
console.log('onKeyboardShow');
setTimeout(function() {
e.target.activeElement.scrollIntoViewIfNeeded()
}, 500) //needed timeout to wait for viewport to resize
}
答案 4 :(得分:0)
phonegap run android
会将您的phonegap项目的android版本添加到平台目录,请阅读http://docs.phonegap.com/en/edge/guide_platforms_android_index.md.html#Android%20Platform%20Guide
答案 5 :(得分:0)
您的AndroidMainFest位置:Projectname - &gt;平台 - &gt; android - &gt; AndroidMainFest.xml 您的apk位置:Project-&gt; bin-&gt; projectname.apk
设置android:windowSoftInputMode="stateVisible|adjustResize" . . . >
答案 6 :(得分:0)
只有一个解决方案适用于我的全屏应用,它是添加到Cordova应用程序ionic-plugin-keyboard插件
cordova plugin add com.ionic.keyboard
JS代码:
// This event fires when the keyboard will hide
window.addEventListener('native.keyboardshow', keyboardShowHandler);
function keyboardShowHandler(e){
$("body").addClass("keyboardOn");
}
// This event fires when the keyboard will show
window.addEventListener('native.keyboardhide', keyboardHideHandler);
function keyboardHideHandler(e){
$("body").removeClass("keyboardOn");
}
之后您可以使用CSS调整视图。