差分

ナビゲーションに移動 検索に移動

Xamarin.Androidで画面の向きを固定する

1,456 バイト追加, 2016年1月5日 (火) 02:28
ページの作成:「一般的なアプリでは画面は可変の方がいいのだろうが、MonoGameなどで作るゲームでは画面の向きを固定したいことが多い...」
一般的なアプリでは画面は可変の方がいいのだろうが、[[MonoGame]]などで作る[[ゲーム]]では画面の向きを固定したいことが多い。

==実装:ActivityのRequestedOrientationプロパティをoverrideする==
縦方向に固定する場合。
<source lang="csharp">
public class Activity1 : AndroidGameActivity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);

// 以下のRequestedOrientationプロパティに設定する方法だとダメ。
// 起動時に一瞬だけ横になりMonoGameの初期化ルーチンで画面サイズの情報がバグる。
this.RequestedOrientation = ScreenOrientation.Portrait;

var g = new GameMain();
SetContentView(g.Services.GetService<View>());
g.Run();
}

// RequestedOrientationプロパティをoverrideする方法だと完璧に動くようだ。
public override ScreenOrientation RequestedOrientation
{
get
{
return ScreenOrientation.Portrait;
}
set
{
base.RequestedOrientation = ScreenOrientation.Portrait;
}
}
}
</source>

==関連項目==
* [[MonoGame]]
* [[MonoGame/BGMを再生する]]

==参考文献==
{{reflist}}

{{stub}}

[[category:Xamarin.Android]]
[[category:MonoGame]]
匿名利用者

案内メニュー