Je travaille sur Ionic/Cordova, j'ai ajouté ceci à androidManifest.xml
mais cela n'a pas fonctionné pour moi et l'application est toujours affichée dans les deux sens
Android:screenOrientation="portrait"
Comment puis-je limiter mon application au mode portrait uniquement? J'ai vérifié sur Android et cela ne fonctionne pas
Si vous souhaitez limiter le mode portrait à tous les périphériques, vous devez ajouter cette ligne au fichier config.xml du dossier racine de vos projets.
<preference name="orientation" value="portrait" />
Après cela, reconstruisez la plate-forme en tapant le texte ci-dessous dans la ligne de commande:
ionic build
Pour les versions 2 et ultérieures d'Ionic, vous devrez également installer le package Ionic Native correspondant à tout plugin que vous utilisez, y compris les plugins cordova-plugin-
et phonegap-plugin-
.
Installer Ionic Native Plugin
Installez le module TypeScript d’Ionic Native pour le plug-in à partir de CLI .
$ ionic cordova plugin add --save cordova-plugin-screen-orientation
$ npm install --save @ionic-native/screen-orientation
* Notez que la commande --save
est facultative et peut être omise si vous ne souhaitez pas ajouter le plug-in à votre fichier package.json
.
Import ScreenOrientation
Plugin
Importer le plugin dans votre controller
, plus de détails disponibles dans la documentation .
import { ScreenOrientation } from '@ionic-native/screen-orientation';
@Component({
templateUrl: 'app.html',
providers: [
ScreenOrientation
]
})
constructor(private screenOrientation: ScreenOrientation) {
// Your code here...
}
Faire votre truc
Verrouiller et déverrouiller l'orientation de l'écran par programme.
// Set orientation to portrait
this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.PORTRAIT);
// Disable orientation lock
this.screenOrientation.unlock();
Points bonus
Vous pouvez également obtenir l'orientation actuelle.
// Get current orientation
console.log(this.screenOrientation.type); // Will return landscape" or "portrait"
Selon https://cordova.Apache.org/docs/fr/4.0.0/config_ref/#global-preferences ,
L'orientation vous permet de verrouiller l'orientation et d'empêcher l'interface de pivoter en réponse aux changements d'orientation. Les valeurs possibles sont default, landscape ou portrait. Exemple:
<preference name="Orientation" value="landscape" />
Sachez que ces valeurs sont sensibles à la casse, il s’agit de "Orientation", pas "orientation".
Tout d’abord, vous devez ajouter le Cordova Screen Orientation Plugin using
cordova plugin add cordova-plugin-screen-orientation
puis ajoutez screen.lockOrientation('portrait');
à la méthode .run()
angular.module('myApp', [])
.run(function($ionicPlatform) {
screen.lockOrientation('portrait');
console.log('Orientation is ' + screen.orientation);
});
})
Si vous voulez faire quelque chose sur votre orientation signifie que vous voulez effectuer n'importe quelle action lorsque vous changez l'orientation de votre application, vous devez utiliser le plugin ionic framework ... https://ionicframework.com/docs/native/screen -orientation/
Si vous souhaitez simplement limiter votre application au mode portrait ou paysage, vous devez simplement ajouter ces lignes dans votre fichier config.xml.
<preference name="orientation" value="portrait" />
OR
<preference name="orientation" value="landscape" />
Dans votre app.js
angulaire, ajoutez la ligne screen.lockOrientation('portrait');
comme ci-dessous:
un
angular.module('app', ['ionic'])
.run(function($ionicPlatform) {
// LOCK ORIENTATION TO PORTRAIT.
screen.lockOrientation('portrait');
});
})
Vous aurez également un autre code dans la fonction .run
, mais celle qui vous intéresse est la ligne que j'ai écrite… .. Je n'ai pas ajouté la ligne <preference name="orientation" value="portrait" />
dans mon code, mais vous devrez peut-être ajouter le cordova-plugin-device-orientation
Dans config.xml, ajoutez la ligne suivante
<preference name="orientation" value="portrait" />
Vous pouvez essayer ceci: -
Cordova plugin pour définir/verrouiller l'orientation de l'écran de manière commune pour iOS, Android, WP8 et Blackberry 10. Ce plugin est basé sur une version antérieure de l'API Screen Orientation, de sorte que l'API ne correspond pas aux spécifications actuelles.
https://github.com/Apache/cordova-plugin-screen-orientation
ou essayez ce code dans la configuration XML: -
<preference name="orientation" value="portrait" />
Veuillez ajouter Android:screenOrientation="portrait"
dans le fichier androidManifest.xml
en tant qu'attribut de balise d'activité pour Android.
<activity
Android:name="com.example.demo_spinner.MainActivity"
Android:label="@string/app_name"
Android:screenOrientation="portrait" >
</activity>