angular - Ionic 5 - 将在 Android/iOS 上的 Ionic/Capacitor 应用程序的锁定屏幕方向
问题描述
我试图弄清楚如何为整个应用程序锁定我的屏幕方向,所以当它部署到 Android/iOS 时,它只用于纵向模式。
我看到使用 Cordova 和 config.xml 提出和回答了很多问题。但我使用的是电容器,所以它与我没有 config.xml 文件不同。相反,我有一个ionic.config.json
文件。
这是我迄今为止在我的app.module.ts
and中所拥有的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);
}
}
但我不相信这实际上会锁定整个应用程序的屏幕方向。我试过查看 Ionic 文档,但它实在是太简单了。
解决方案
您需要将方向参数传递给 screenOrientation.lock 方法
像这样的东西:
export class AppComponent {
constructor(private screenOrientation: ScreenOrientation) {
this.screenOrientation.lock('portrait');
}
}
参考自:https ://github.com/apache/cordova-plugin-screen-orientation
推荐阅读
- ibm-cloud-infrastructure - SoftLayer API 在调用 setUserMetadata 时返回 SoftLayer_Exception_NotImplemented
- java - 将字节数组保存到BLOB后,获取数据时如何将其转换为字符串?
- javascript - 处理选择时反应日期选择器选择对象范围
- php - PHPMailer - 通过 SMTP 和 Gmail 发送电子邮件
- node.js - 无法让我的数据从 mlab 呈现。我的数据库已连接,但我的 ejs 模板不起作用
- html - 如何根据 MasterPage 中的链接选择在同一网页上应用三个不同的 CSS 文件之一?
- javascript - 使用 .filter 和 .reduce 在 JavaScript 中过滤嵌套对象
- javascript - 在 JavaScript 中将表转换为对象数组
- ruby-on-rails - Rails在carrierwave中查找存储文件本地URL
- model-view-controller - MVC:请正确识别 MVC 层之间的可访问性