Подтвердить что ты не робот

Android Белый фон, когда клавиатура исчезает

Видео проблемы от другого пользователя, но его же

http://imgur.com/ca2cNZv

У меня фоновое изображение установлено следующим образом:

  .pane {
  background-image:  url("../img/inner-banner-bg.jpg");
  background-repeat: repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
}

И в моем config.xml

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

Теперь проблема заключается в том, когда клавиатура исчезает после того, как я нажал кнопку done/search, она оставляет белый фон, например, 0,5 во время перехода для пространства, на котором закрывается клавиатура, и выглядит немного плохо.

Когда клавиатура закрывается, она не обрезается, но оставляет белый зазор. Как я могу заставить клавиатуру не сжимать представление позади фона?

Когда я устанавливаю

<preference name="Fullscreen" value="true"/>

Этого не происходит. Я также использую Ionic Plugin Keyboard.

В любом случае я могу сделать переход затухания клавиатуры не отображать белый фон?

Изменить: Здесь мои настройки андроида

<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
            <intent-filter android:label="@string/launcher_name">
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

И мои настройки конфигурации

  <access launch-external="yes" origin="geo:*"/>
  <allow-intent href="geo:*"/>
  <preference name="webviewbounce" value="false"/>
  <preference name="UIWebViewBounce" value="false"/>
  <preference name="DisallowOverscroll" value="true"/>
  <preference name="android-minSdkVersion" value="16"/>
  <preference name="BackupWebStorage" value="none"/>
  <preference name="SplashScreen" value="screen"/>
  <preference name="SplashScreenDelay" value="4000"/>
  <preference name="FadeSplashScreen" value="false"/>
  <preference name="ShowSplashScreenSpinner" value="true"/>
  <preference name="KeyboardShrinksView" value="false"/>

И в Package.json

  "dependencies": {
    "gulp": "^3.5.6",
    "gulp-sass": "^2.0.4",
    "gulp-concat": "^2.2.0",
    "gulp-minify-css": "^0.3.0",
    "gulp-rename": "^1.2.0"
  },
  "devDependencies": {
    "bower": "^1.3.3",
    "gulp-util": "^2.2.14",
    "shelljs": "^0.3.0"
  },
  "cordovaPlugins": [
    "cordova-plugin-device",
    "cordova-plugin-console",
    "cordova-plugin-whitelist",
    "cordova-plugin-splashscreen",
    "cordova-plugin-statusbar",
    "cordova-plugin-geolocation",
    "cordova-plugin-network-information",
    "ionic-plugin-keyboard"
  ],
  "cordovaPlatforms": [
    "android",
    "ios"
  ]

В моем веб-обзоре я использую ионный и ионный контент

<ion-view>
    <ion-content class="has-header has-tabs">
4b9b3361

Ответ 1

В файле AndroidManifest.xml попробуйте установить атрибут windowSoftInputMode в настроитьНекоторые:

android:windowSoftInputMode="adjustNothing"

Он работал для моего проекта Ionic, избегая изменения размера веб-представления Cordova, когда включена мягкая клавиатура.

Ответ 2

Это ваш windowBackground. Вероятно, вы рисуете на белом фоне своей темы с этим фоном. Измените тему, чтобы включить лучший цвет фона и, если возможно, удалите фон из макета, чтобы улучшить производительность чертежа.

<style name="MyAppTheme" parent="Theme.DeviceDefault.NoActionBar">
  ...
  <item name="android:windowBackground">#ff000000</item>
  ...
</style>

Ответ 3

Помещенный:

<style name="AppTheme" parent="AppBaseTheme">
     <item name="android:windowBackground">@drawable/gradient</item>
</style>

В styles.xml источник

Ответ 4

Добавьте следующий код в свой "App.js". добавить

$window.addEventListener('native.keyboardhide', function (event) {
    $rootScope.$broadcast('native.keyboardhide', event);
});

при вызове метода app.run() с зависимостями $window и $rootScope. также добавьте

    if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) {
        cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
        cordova.plugins.Keyboard.disableScroll(true);
    }

в $ionicPlatform.ready().

убедитесь, что ваш код обновлен путем проверки вашего приложения. Если он не обновлен, попробуйте удалить и добавить платформу и перестроить приложение.

Ответ 5

Эй, есть простой способ обхода этого

вам нужно добавить overflow-scroll = "false" в ваше ионное содержимое, это должно исправить его

<ion-content class="padding has-header has-footer" overflow-scroll="false">

связанная тема Ionicforum

Ответ 6

Это происходит из-за того, что размер окна изменяется, чтобы освободить место для области мягкого ввода

использовать android:windowSoftInputMode="adjustNothing" в AndroidManifest.xml

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