1
votes

Ionic 4 - L'orientation de l'écran (paysage) ne fonctionne pas

Je suis nouveau sur Ionic 4 et j'essaie de définir l'orientation de l'écran sur paysage et en me référant à la documentation, voici ce que je fais:

...
import {ScreenOrientation} from '@ionic-native/screen-orientation';

@Component({
  selector: 'app-root',
  templateUrl: 'app.component.html'
})
export class AppComponent {

  constructor(
    private platform: Platform,
    private splashScreen: SplashScreen,
    private statusBar: StatusBar,
    private screenOrientation: ScreenOrientation,
  ) {
    this.initializeApp();
  }

  initializeApp() {
    this.screenOrientation.lock(ScreenOrientation.ORIENTATIONS.LANDSCAPE);
    ...
  }
}

et lors de la compilation, j'obtiens cette erreur :

[ng] ERREUR dans src / app / app.component.ts (24,33): erreur TS2345: L'argument de type 'string' n'est pas assignable au paramètre de type 'OrientationLockType'.

et sur la console du navigateur:

Erreur non interceptée: impossible de résoudre tous les paramètres pour AppComponent: ([objet objet], [objet objet], [objet objet],?). à syntaxError (compiler.js: 2426) [] ...


0 commentaires

5 Réponses :


5
votes

Il y a un problème dans l'injection pour le quatrième paramètre, avez-vous correctement installé le plugin d'orientation de l'écran?

<preference name="orientation" value="landscape" />

https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-screen-orientation/

Si ce n'est pas le cas travail, vous devriez essayer de cette façon (sans l'importation et l'injection)

cordova plugin add cordova-plugin-screen-orientation

https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-screen-orientation/

De plus, si vous voulez forcer l'orientation paysage pour toute l'application, il est possible d'ajouter une préférence dans config.xml

ionic cordova plugin add cordova-plugin-screen-orientation
npm install @ionic-native/screen-orientation

Je l'ai testé et ça marche dans la plate-forme Android 7.1.4


0 commentaires

6
votes

vous utilisez ionic V4, veuillez consulter le document, importez les éléments corrects.

import {ScreenOrientation} from '@ionic-native/screen-orientation';

pas

import { ScreenOrientation } from '@ionic-native/screen-orientation/ngx';


0 commentaires

1
votes

Assurez-vous d'ajouter ScreenOrientation au tableau des fournisseurs dans le module à l'aide du plugin.

Par exemple dans app.module.ts


0 commentaires

1
votes

tableau des fournisseurs dans le module utilisant le plugin.

    providers: [
    ScreenOrientation
 ]


0 commentaires

0
votes

Cela a fonctionné pour moi (Ionic 5). Dans votre page.module, importez la dépendance:

 providers: [
    ScreenOrientation, 
    ...]

et fournissez au module:

import { ScreenOrientation } from '@ionic-native/screen-orientation/ngx';


0 commentaires