私はIonic/Cordovaに取り組んでいます。これをandroidManifest.xml
に追加しましたが、これは私には機能せず、アプリはまだ両方の方法で表示されています
Android:screenOrientation="portrait"
アプリをポートレートモードのみに制限するにはどうすればよいですか? Androidを確認しましたが、機能しません
すべてのデバイスでのみポートレートモードに制限する場合は、プロジェクトのルートフォルダーのconfig.xmlにこの行を追加する必要があります。
<preference name="orientation" value="portrait" />
その後、コマンドラインに次のテキストを入力してプラットフォームを再構築してください。
ionic build
Ionicバージョン2以降では、cordova-plugin-
およびphonegap-plugin-
プラグインを含む、使用するプラグインに対応する Ionic Native パッケージもインストールする必要があります。
Ionicネイティブプラグインのインストール
CLI からプラグイン用のIonic NativeのTypeScriptモジュールをインストールします。
$ ionic cordova plugin add --save cordova-plugin-screen-orientation
$ npm install --save @ionic-native/screen-orientation
* --save
コマンドはオプションであり、プラグインをpackage.json
ファイルに追加したくない場合は省略できることに注意してください
ScreenOrientation
プラグインのインポート
プラグインをcontroller
にインポートします。詳細は documentation で入手できます。
import { ScreenOrientation } from '@ionic-native/screen-orientation';
@Component({
templateUrl: 'app.html',
providers: [
ScreenOrientation
]
})
constructor(private screenOrientation: ScreenOrientation) {
// Your code here...
}
Do Your Thing
プログラムで画面の向きをロックおよびロック解除します。
// Set orientation to portrait
this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.PORTRAIT);
// Disable orientation lock
this.screenOrientation.unlock();
ボーナスポイント
現在の向きを取得することもできます。
// Get current orientation
console.log(this.screenOrientation.type); // Will return landscape" or "portrait"
https://cordova.Apache.org/docs/en/4.0.0/config_ref/#global-preferences によると、
向きを使用すると、向きをロックして、向きの変更に応じてインターフェイスが回転するのを防ぐことができます。可能な値は、default、landscape、またはportraitです。例:
<preference name="Orientation" value="landscape" />
これらの値は大文字と小文字が区別されることに注意してください。「向き」ではなく「向き」です。
最初に、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);
});
})
オリエンテーションで何かをしたい場合は、アプリのオリエンテーションを変更するときにアクションを実行したい場合は、ionicフレームワークプラグインを使用する必要があります... https://ionicframework.com/ docs/native/screen-orientation /
アプリをポートレートモードまたはランドスケープモードに制限する場合は、config.xmlに次の行を追加するだけです
<preference name="orientation" value="portrait" />
OR
<preference name="orientation" value="landscape" />
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
を追加する必要があるかもしれません
Config.xmlに次の行を追加します
<preference name="orientation" value="portrait" />
これを試すことができます:-
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" />
Androidのアクティビティタグの属性としてAndroid:screenOrientation="portrait"
ファイルにandroidManifest.xml
を追加してください。
<activity
Android:name="com.example.demo_spinner.MainActivity"
Android:label="@string/app_name"
Android:screenOrientation="portrait" >
</activity>