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">
Ответы
Ответ 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>