Ionic 5 — Ориентация экрана блокировки для приложения Ionic/Конденсатор, которое будет работать на Android/iOS

#angular #ionic-framework #ionic4 #capacitor #capacitor-plugin

Вопрос:

Я пытаюсь понять, как заблокировать ориентацию экрана для всего приложения, поэтому, когда оно развернуто на Android/iOS, оно используется только в портретном режиме.

Я вижу довольно много вопросов, которые задают и на которые отвечают, используя Кордову и config.xml. Но я использую конденсатор, так что это не то же самое, что у меня нет config.xml файл. Вместо этого у меня есть ionic.config.json файл.

Это то, что у меня есть до сих пор в моем app.module.ts и app.component.ts :

 
    import { NgModule } from '@angular/core';
    import { BrowserModule } from '@angular/platform-browser';
    import { RouteReuseStrategy } from '@angular/router';
    
    import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
    
    import { AppComponent } from './app.component';
    import { AppRoutingModule } from './app-routing.module';
    import {ScreenOrientation} from "@ionic-native/screen-orientation/ngx";
    
    
    @NgModule({
      declarations: [AppComponent],
      entryComponents: [],
      imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule],
      providers: [{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }, ScreenOrientation],
      bootstrap: [AppComponent],
    })
    export class AppModule {
      constructor() {
    
      }
    
    }

 

И

 export class AppComponent {
  constructor(private screenOrientation: ScreenOrientation) {
    this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.PORTRAIT);
  }

}
 

Но я не верю, что это действительно заблокирует мою ориентацию на экране для всего приложения. Я пробовал просматривать документацию по ионам, но она невероятно голая.

Комментарии:

1. проверьте это capacitorjs.com/docs/cordova/… (в Кордове его <preference name=»Orientation» value=»landscape» /> так что думаю, здесь собственность объекта ссылке нужно добавить ориентация: «портрет»), но не уверен, если это будет работать, но вы могли бы проверить, как быстро вещь, чтобы проверить, или использовать ionicframework.com/docs/native/screen-orientation плюс установить блокировку метод внутри приложения.компонент.ТС влияет на все приложение, а не внутри страницы, если U нужна эта функция для одиночной или конкретные страницы….

Ответ №1:

Вам нужно передать параметр ориентация на экранную ориентацию.способ блокировки

Что-то вроде этого:

 export class AppComponent {
  constructor(private screenOrientation: ScreenOrientation) {
    this.screenOrientation.lock('portrait');
  }
}
 

Ссылается на : https://github.com/apache/cordova-plugin-screen-orientation