【问题标题】:Android - Keyboard compresses my ViewAndroid - 键盘压缩我的视图
【发布时间】:2014-11-14 01:28:47
【问题描述】:

我正在开发一个 Android/iOS 应用程序。当键盘为登录(用户名和密码)打开时,所有这些都被缩小在一起,看起来像这样:

通常它不应该被压缩。它应该向上移动,让我清楚地了解我正在输入的内容。

是的,所以我不知道该怎么办。我尝试在整个应用程序中使用百分比(宽度/高度) - 也许这就是为什么我的视图没有向上移动而是缩小的原因?

我在这里查看了堆栈,发现了一些建议,例如:

<activity
   ...
   android:windowSoftInputMode="adjustPan"> 
</activity>

或 adjustResize 代替,但这对我没有任何作用。在 iOS 上一切正常。我想要视图做的是他只是向上移动了一点,没有任何东西被调整大小。

我希望你能帮助我,如果你需要更多信息,请告诉我,我会更新或评论我的问题。

  • 科尔多瓦 3.5
  • jQuery/jQuery-Mobile
  • 插件:Camera/Console/Device/Dialogs/File-Transfer/File/inappbrowser/Splashscreen/Statusbar/vibration/geolocation/network-information
  • 带有 Genymotion 模拟器的 Eclipse
  • 设备:Galaxy Note 10.1、4.4.2; Xperia Z2 4.4.2

这是我的 Androidmanifest 的样子:

<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="1.0" package="de.*****************.de" xmlns:android="http://schemas.android.com/apk/res/android">
    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
    <uses-permission android:name="android.permission.INTERNET" />
    <application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:screenOrientation="portrait" android:label="@string/activity_name" android:launchMode="singleTop" android:name="********" android:theme="@android:style/Theme.Black.NoTitleBar" android:windowSoftInputMode="adjustPan">
            <intent-filter android:label="@string/launcher_name">
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="20" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.VIBRATE" />
</manifest>

【问题讨论】:

  • 试试这个:: android:windowSoftInputMode="adjustPan|adjustResize"

标签: android jquery cordova keyboard viewport


【解决方案1】:

几天前我遇到了同样的问题。

正如你所说,你已经给出了高度和宽度的百分比。

当 android 键盘出现时,窗口会调整大小,其高度是屏幕大小,不包括键盘大小。

为页面的主容器(即 body 标签)指定高度的百分比将在键盘出现时缩小页面的高度,

在document.ready 上设置一次身体标签的最小高度对我有用。

$(function(){

$("body").css("min-height",$(window).height())

});

【讨论】:

  • 感谢你们的回答,intelliJ Amiya 和 NaeemShaikh27 - 我将在晚上晚些时候进行测试。
【解决方案2】:

将此添加到您的清单中。我希望它会起作用。更多信息请点击HERE

android:windowSoftInputMode="stateUnchanged|adjustResize"

【讨论】:

  • 这些值对我不起作用,但 adjustPan 成功了
  • @AlvaroMontoro 好的
猜你喜欢
  • 2020-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-23
  • 1970-01-01
  • 1970-01-01
  • 2015-08-06
相关资源
最近更新 更多