web-dev-qa-db-ja.com

すべてのプラットフォームでionicでのみアプリをポートレートモードに制限するにはどうすればよいですか?

私はIonic/Cordovaに取り組んでいます。これをandroidManifest.xmlに追加しましたが、これは私には機能せず、アプリはまだ両方の方法で表示されています

Android:screenOrientation="portrait"

アプリをポートレートモードのみに制限するにはどうすればよいですか? Androidを確認しましたが、機能しません

104

すべてのデバイスでのみポートレートモードに制限する場合は、プロジェクトのルートフォルダーのconfig.xmlにこの行を追加する必要があります。

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

その後、コマンドラインに次のテキストを入力してプラットフォームを再構築してください。

ionic build
288
Vadiem Janssens

Ionic v2 +アップデート

Ionicバージョン2以降では、cordova-plugin-およびphonegap-plugin-プラグインを含む、使用するプラグインに対応する Ionic Native パッケージもインストールする必要があります。

  1. Ionicネイティブプラグインのインストール

    CLI からプラグイン用のIonic NativeのTypeScriptモジュールをインストールします。

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

    * --saveコマンドはオプションであり、プラグインをpackage.jsonファイルに追加したくない場合は省略できることに注意してください

  2. ScreenOrientationプラグインのインポート

    プラグインをcontrollerにインポートします。詳細は documentation で入手できます。

    import { ScreenOrientation } from '@ionic-native/screen-orientation';
    
    @Component({
        templateUrl: 'app.html',
        providers: [
            ScreenOrientation
        ]
    })
    
    constructor(private screenOrientation: ScreenOrientation) {
      // Your code here...
    }
    
  3. Do Your Thing

    プログラムで画面の向きをロックおよびロック解除します。

    // Set orientation to portrait
    this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.PORTRAIT);
    
    // Disable orientation lock
    this.screenOrientation.unlock();
    
  4. ボーナスポイント

    現在の向きを取得することもできます。

    // Get current orientation
    console.log(this.screenOrientation.type);  // Will return landscape" or "portrait"
    
33
Tyler

https://cordova.Apache.org/docs/en/4.0.0/config_ref/#global-preferences によると、

向きを使用すると、向きをロックして、向きの変更に応じてインターフェイスが回転するのを防ぐことができます。可能な値は、default、landscape、またはportraitです。例:

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

これらの値は大文字と小文字が区別されることに注意してください。「向き」ではなく「向き」です。

11
Michael Zhou

最初に、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);

});
})
4
Ahmed Bouchefra

オリエンテーションで何かをしたい場合は、アプリのオリエンテーションを変更するときにアクションを実行したい場合は、ionicフレームワークプラグインを使用する必要があります... https://ionicframework.com/ docs/native/screen-orientation /

アプリをポートレートモードまたはランドスケープモードに制限する場合は、config.xmlに次の行を追加するだけです

<preference name="orientation" value="portrait" />
                 OR
<preference name="orientation" value="landscape" />
3
Vivek Singh

angular app.jsの中に、以下に示すような行screen.lockOrientation('portrait');を追加します。

angular.module('app', ['ionic'])
.run(function($ionicPlatform) {
    // LOCK ORIENTATION TO PORTRAIT.
    screen.lockOrientation('portrait');
  });
})

.run関数には他のコードもありますが、興味があるのは私が書いた行です。コードに<preference name="orientation" value="portrait" />行を追加していませんが、cordova-plugin-device-orientationを追加する必要があるかもしれません

1

Config.xmlに次の行を追加します

<preference name="orientation" value="portrait" />
1
Omkar Porje

これを試すことができます:-

IOS、Android、WP8、Blackberry 10の一般的な方法で画面の向きを設定/ロックするCordovaプラグイン。このプラグインは初期バージョンのScreen Orientation APIに基づいているため、現在APIは現在の仕様と一致しません。

https://github.com/Apache/cordova-plugin-screen-orientation

またはxml configでこのコードを試してください:

<preference name="orientation" value="portrait" />
0

Androidのアクティビティタグの属性としてAndroid:screenOrientation="portrait"ファイルにandroidManifest.xmlを追加してください。

<activity
        Android:name="com.example.demo_spinner.MainActivity"
        Android:label="@string/app_name"
        Android:screenOrientation="portrait" >
</activity>
0
AyushKatiyar