как ограничить приложение в портретном режиме только в ionic для всех платформ
Я работаю над Ionic / Cordova, я добавил Это к androidManifest.xml
но это не сработало для меня, и приложение все еще показывает в обоих направлениях
android:screenOrientation="portrait"
Как я могу ограничить мое приложение в портретном режиме только? Я проверил на Android, и это не работает
8 ответов:
Если вы хотите ограничиться только портретный режим на всех устройствах, вы должны добавить эту строку в конфиге.xml в корневой папке проекта.
<preference name="orientation" value="portrait" />
после этого, пожалуйста, перестроить платформу, введя ниже текст в командной строке:
ionic build
Ionic v2 + Update
для ионных версий 2 и более поздних вам также нужно будет установить соответствующий Ионные Уроженца пакета для любого плагина, который вы используете, в том числе
cordova-plugin-
иphonegap-plugin-
Плагины.
Установите Ionic Native Plugin
установите модуль TypeScript Ionic Native для плагина из CLI.
$ ionic cordova plugin add --save cordova-plugin-screen-orientation $ npm install --save @ionic-native/screen-orientation
Примечание: это необязательным и может быть опущен, если вы не хотите, чтобы добавить плагин в свой
package.json
fileимпорт
ScreenOrientation
плагинимпорт плагина в ваш
controller
, более подробная информация доступна в документация.import { ScreenOrientation } from '@ionic-native/screen-orientation'; @Component({ templateUrl: 'app.html', providers: [ ScreenOrientation ] }) constructor(private screenOrientation: ScreenOrientation) { // Your code here... }
Делай Свое Дело
блокировка и разблокировка ориентации экрана программно.
// Set orientation to portrait this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.PORTRAIT); // Disable orientation lock this.screenOrientation.unlock();
Бонусные Баллы
вы также можете получить текущую ориентацию.
// Get current orientation console.log(this.screenOrientation.type); // Will return landscape" or "portrait"
согласно https://cordova.apache.org/docs/en/4.0.0/config_ref/#global-preferences,
ориентация позволяет заблокировать ориентацию и предотвратить вращение интерфейса в ответ на изменения ориентации. Возможные значения: по умолчанию, альбомная или книжная. Пример:
<preference name="Orientation" value="landscape" />
имейте в виду, что эти значения чувствительны к регистру, это "ориентация", а не "ориентация".
во-первых, вам нужно добавить Cordova Screen Orientation Plugin используя
cordova plugin add cordova-plugin-screen-orientation
и затем добавить
screen.lockOrientation('portrait');
до.run()
методangular.module('myApp', []) .run(function($ionicPlatform) { screen.lockOrientation('portrait'); console.log('Orientation is ' + screen.orientation); }); })
Если вы хотите сделать что-то на вашей ориентации означает, что вы хотите выполнить любое действие, когда изменить ориентацию приложения, то вы должны использовать плагин Ionic framework... https://ionicframework.com/docs/native/screen-orientation/
Если вы просто хотите ограничить ваше приложение в портретном или ландшафтном режиме, то вам нужно просто добавить следующую строку в файл config.xml
<preference name="orientation" value="portrait" /> OR <preference name="orientation" value="landscape" />
внутри вашего углового
app.js
добавить строкуscreen.lockOrientation('portrait');
как показано ниже:an
angular.module('app', ['ionic']) .run(function($ionicPlatform) { // LOCK ORIENTATION TO PORTRAIT. screen.lockOrientation('portrait'); }); })
вы также будете иметь другой код
.run
функция, но тот, который вас интересует, это строка, которую я написал. Я не добавил строку<preference name="orientation" value="portrait" />
в моем коде, но вам может понадобиться, чтобы добавитьcordova-plugin-device-orientation
Вы можете попробовать это:-
плагин Cordova для установки / блокировки ориентации экрана обычным способом для iOS, Android, WP8 и Blackberry 10. Этот плагин основан на ранней версии API ориентации экрана, поэтому api в настоящее время не соответствует текущей спецификации.
https://github.com/apache/cordova-plugin-screen-orientation
или попробуйте этот код в конфигурации xml: -
<preference name="orientation" value="portrait" />