XamarinでAndroidアプリをフルスクリーンで表示させる

Xamarin.Nativeの場合

MainActivity.csに以下を追加

var systemUiFlags = SystemUiFlags.LayoutStable
			| SystemUiFlags.LayoutHideNavigation
			| SystemUiFlags.LayoutFullscreen
			| SystemUiFlags.HideNavigation
			| SystemUiFlags.Fullscreen
			| SystemUiFlags.ImmersiveSticky;
Window.DecorView.SystemUiVisibility = (StatusBarVisibility)(int)systemUiFlags;

Xamarin.Formsの場合

Android 4.4以下はNativeと同じでいいんですけど、Android 5以降はなぜかステータスバーの内容だけ消えて表示領域が取り残される謎状態になります。

対応としてはbase.OnCreateのあとに以下を追加します。

	if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
	{
		this.Window.AddFlags(WindowManagerFlags.Fullscreen);
		this.Window.AddFlags(WindowManagerFlags.KeepScreenOn);
	}

OnCreate全体を見るとこんな感じ

protected override void OnCreate(Bundle bundle)
{
	base.OnCreate(bundle);

	if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop)
	{
		this.Window.AddFlags(WindowManagerFlags.Fullscreen);
		this.Window.AddFlags(WindowManagerFlags.KeepScreenOn);
	}

	global::Xamarin.Forms.Forms.Init(this, bundle);
	LoadApplication(new App());

	var systemUiFlags = SystemUiFlags.LayoutStable
				| SystemUiFlags.LayoutHideNavigation
				| SystemUiFlags.LayoutFullscreen
				| SystemUiFlags.HideNavigation
				| SystemUiFlags.Fullscreen
				| SystemUiFlags.ImmersiveSticky;
	Window.DecorView.SystemUiVisibility = (StatusBarVisibility)(int)systemUiFlags;
}

【Xamarin】Visual Studio 2017でiOSのビルドを行うまでのメモ

環境

  • MacBook Pro (Retine, 13-inch, Early 2013)
    macOS Sierra(クリーンインストール)、Core i5、RAM 8GB
  • VAIO Z (2015)
    Windows 10 Pro build 1703 (Creators Update)
    Core i5、RAM 16GB
    Visual Studio Enterprise 2017 Version 15.1

手順

  1. Macのシステム環境設定から共有を選ぶ。
  2. リモートログインに☑を入れてsshログインに必要なアカウントとIPアドレスをメモ。
  3. MacにXamarin Studioをダウンロードしてインストールする。
    https://www.xamarin.com/download-it
  4. Xamarin Studioのインストールが完了するとXcodeのインストールに誘導されるので従いApp Storeからダウンロードしてインストールする。
  5. Xcodeのインストールが終わったら一度起動してライセンスに同意する。
  6. Xamarin Studioを起動して安定版の更新を行う。
    (ベータやアルファやってもいいけど何かあった時に自力で解決出来る人のみ)
  7. Windows側でVisual Studioから新規CrossPlatformプロジェクトを作る。
  8. [ツール]→[オプション]→[Xamarin]→[iOSの設定]→[Xamarin Mac Agentの検索]
  9. 用意したMacを選択(出てこないなら2でメモったIPアドレスとアカウントで接続)
    パスワード要求されたらMacにログインする時のやつを入力
  10. スタートアッププロジェクトをiOSにしてデバッグデバイスを選択してビルド!

繋がらない時

  • SSH キーが作れないって言われる
    Mac側で別のユーザーを作って試してみて。
  • The root assemblyうんたらかんたらiOS.exe conflicts with another assemblyって言われる
    Visual StudioかXamarin Studioのバージョンが古いかも!
    もしくはXamarin Studioが安定版じゃないかも!
    確認してプロジェクト作り直してみて。
    >The root assembly conflicts with another assembly