Android Phonegap键盘盖输入字段
我是Android应用程序开发的新手,我遇到了键盘覆盖输入字段的问题,我做了一次搜索,知道我需要添加 android:configChanges=“屏幕大小|语言环境” 到xml文件。但是,我的目录中没有AndroidManifest.xml。我只有phonegap提供给我的config.xml文件 然后我找到了这个,但我不知道该放在哪里 android:WindowsOfInputMode=“value1 | value2 | valueN” 在我的config.xml中 谢谢你的帮助 感谢您的支持您拥有plaforms/android中的清单文件,请继续添加您的选项Android Phonegap键盘盖输入字段,android,cordova,Android,Cordova,我是Android应用程序开发的新手,我遇到了键盘覆盖输入字段的问题,我做了一次搜索,知道我需要添加 android:configChanges=“屏幕大小|语言环境” 到xml文件。但是,我的目录中没有AndroidManifest.xml。我只有phonegap提供给我的config.xml文件 然后我找到了这个,但我不知道该放在哪里 android:WindowsOfInputMode=“value1 | value2 | valueN” 在我的config.xml中 谢谢你的帮助 感谢您
phonegap-run-android
将把你的phonegap项目的android版本添加到平台目录中,请阅读你的AndroidMainFest位置:Projectname->Platform->android->AndroidMainFest.xml
您的apk位置:Project->bin->projectname.apk
设置为什么不使用PhoneGap构建网站并上传zip文件?忘记Amit所说的清单文件。我想他只是让一切变得更加混乱。您需要了解本地开发版本和PhoneGap在线版本之间的区别。如果你只想测试你的应用程序,你不需要有本地的开发环境。您可以压缩您的www文件夹并将其上载到PhoneGap构建服务。没有命令行内容,也没有复杂的设置。如果要编辑软键盘设置,可以编辑config.xml并插入以下内容:
<preference name="android-windowSoftInputMode" value="stateVisible|adjustResize" />
。。。或WindowsOfInputMode所需的任何选项
文件如下:
祝你好运。尝试了@markj接受的答案,但对我无效。将其添加到我的config.xml中起到了什么作用:
<preference name="fullscreen" value="false" />
你的应用程序上有“状态栏”,但这对我来说没关系。。。希望对我有所帮助,我使用css媒体查询解决了这个问题
@media (max-height: 600px) {
.login-header i {
display: none;
}
}
键盘调整屏幕大小,当屏幕大小低于任意值(如600px)时,上面的css会隐藏“登录标题”。这允许隐藏的输入进入视图。只有一个解决方案适用于我的全屏应用程序,那就是添加到Cordova应用程序插件 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调整视图
参考文献:带有
<preference name="fullscreen" value="true" />
你需要设置androidmainfest.xml就像我说的,我没有androidmainfest.xml谢谢你有android项目吗?没有,我只是简单地按照Phonegap安装并在命令行中使用Phonegap运行android。目录中的所有内容都是config.xml根据这个,我可以添加到config.xml中。我该怎么做?嗨,我得到了“[phonegap]成功编译的Android应用程序”,但我在我的系统上找不到apk文件。因为我正在使用外部Android选项卡进行测试,并且它不支持USB,因此我需要手动将apk文件发送到我的Android选项卡。在安装SDK之前,当我运行“phonegap run Android”时,它会向我显示QR扫描码,因此它很容易安装到我的Android设备上。但是现在当我使用本地SDK构建后再次运行时,没有任何二维码可扫描了。lol。请帮助:(基本上你将设备与计算机连接并运行“phonegap run android”。这将自动在设备上部署apk。哦,好的,我现在明白了。谢谢!以上设置和“android WindowsOfInputMode“这是我的窍门,但如果我们想保持应用程序的全屏显示,该怎么办?!嗨,谢谢你对StackOverflow的贡献。你回答的问题很老,已经回答了-如果你也能努力解决更紧迫的问题,我们会很高兴的。当键盘出现时,媒体查询不会触发!你能举个例子吗?”用CSS“调整视图”?我认为你的答案是有希望的,但它是不完整的。这种偏好似乎已经不存在了-
<preference name="fullscreen" value="true" />
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
}