4

我是 Android 应用程序开发的新手,我遇到了键盘覆盖我的输入字段的问题,我进行了搜索并知道我需要添加

android:configChanges="screenSize|locale"

到 xml 文件。但是,我的目录中没有 AndroidManifest.xml。我所拥有的只是phonegap 提供给我的config.xml。

然后我找到了这个https://github.com/phonegap/build/issues/160但我不知道把它放在哪里

android:windowSoftInputMode="value1|value2|valueN"

在我的 config.xml 中?

感谢任何帮助

4

7 回答 7

8

尝试了@markj 接受的答案,但它对我不起作用。DID 的工作是将其添加到我的 config.xml 中:

<preference name="fullscreen" value="false" />

您确实在您的应用程序顶部获得了“状态栏”,但我没问题......希望对您有所帮助

于 2014-01-28T19:05:43.960 回答
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

祝你好运。

于 2013-10-08T08:52:04.937 回答
2

我使用 css 媒体查询解决了这个问题。

@media (max-height: 600px) {
  .login-header i {
    display: none;
  }
}

当屏幕大小低于任意值(例如 600 像素)时,键盘会调整屏幕大小,因此上面的 css 会隐藏“登录标题”。这允许隐藏的输入进入视野。

于 2014-04-03T13:48:04.003 回答
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
}
于 2016-01-17T12:00:35.283 回答
0

您在 plaforms/android 中有清单文件继续添加您的选项

phonegap run android将您的phonegap项目的android构建添加到平台目录,请阅读http://docs.phonegap.com/en/edge/guide_platforms_android_index.md.html#Android%20Platform%20Guide

于 2013-09-11T06:43:03.873 回答
0

您的 AndroidMainFest 位置:Projectname -> Platform -> android -> AndroidMainFest.xml 您的 apk 位置:Project->bin->projectname.apk

设置android:windowSoftInputMode="stateVisible|adjustResize" 。. . >

于 2013-09-11T07:24:15.917 回答
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 调整视图。

参考:https ://stackoverflow.com/a/25823491/634275

于 2015-09-18T06:45:45.430 回答