2016-12-21 14 views
1

Xamarin Forms UIフレームワークを使用するXamarin Androidアプリ。 画面の向きを検出して、特定のページではポートレートとランドスケープのみを許可したいが、他のすべてのページではポートレートとポートレートを許可したい。Xamarin Android、Xamarinフォームオリエンテーションの変更

私はRequestOrientationを呼び出そうとしましたが、オリエンテーションを同じに保つように強制して、オリエンテーションの変更通知を再度発生させません。

+0

はあなたがAndroidの溶液中の縦方向以外の方向を許可してください:以下

public override void OnConfigurationChanged(Configuration newConfig) { //using to prevent the OnCreate from firing when rotating or screen size is changing if (App.IsPortraitOnly) { RequestedOrientation = ScreenOrientation.Portrait; newConfig.Orientation = Orientation.Portrait; } base.OnConfigurationChanged(newConfig); } 

は、Androidで利用可能な方向値ですがプロパティ? – Kuba

答えて

2

はあなたのApp.Xaml.csに

すべてのページで falseに、あなたはそれが唯一の肖像画になりたいページで trueに設定し
public static bool IsPortraitOnly { get; set; } 

を静的プロパティを持っています。アンドロイドプロジェクトであなたのMainActivity

、方法OnConfigurationChangedオーバーライドします:

public enum Orientation 
{ 
    Landscape = 2, 
    Portrait = 1, 
    Square = 3, 
    Undefined = 0 
}