Xamarin.Forms の NavigationBar に影を付ける(Android)

Xamarin.Forms で NavigationPage を使用する場合において、NavigationBar に影を付ける方法です.

Android の Toolbar と TabLayout に影を付けます(Prism.Forms を用いた実装です).

実装環境

  • Xamarin.Forms 2.3.0.49
  • Prism.Forms 6.1.0-pre4

影を付ける

Android プロジェクトのレイアウトファイルを修正します.

Prism.Forms でプロジェクトを作成すると、tabs.xml と toolbar.xml が自動生成されていると思います.

public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
    protected override void OnCreate(Bundle bundle)
    {
        TabLayoutResource = Resource.Layout.tabs;
        ToolbarResource = Resource.Layout.toolbar;

        base.OnCreate(bundle);

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

これらのレイアウトファイルは、MainActivity.cs の OnCreate で参照されています.

これらのレイアウトファイルを修正することで任意のデザインを指定できるようになります.


こちらが Toolbar のレイアウトファイルになります.

重要なのはこちらの1行.

これで影が付きます.

描画結果です.

TabLayout のレイアウトファイルです.


同様に影を付けるのはこの1文です.

描画結果です.

以上です.