StatusBarBehavior
StatusBarBehavior
は、デバイスのステータス バーの色とスタイルをカスタマイズする機能を提供します。
StatusBarBehavior
は、プロパティの更新時に色とスタイルの値を適用します。 値は ApplyOn
プロパティにも基づいて適用されます。このプロパティを使用すると、使用するライフサイクル イベントを定義できます。
StatusBarApplyOn.OnBehaviorAttachedTo
- 動作がページにアタッチされている場合に色とスタイルを適用します。 既定値です。StatusBarApplyOn.OnPageNavigatedTo
- ページの移動時に色とスタイルを適用します。
Note
アプリケーションのページごとにステータス バーの外観を変更する場合は、ApplyOn
プロパティの StatusBarApplyOn.OnPageNavigatedTo
値を使用する必要があります。 それ以外の場合は、システムに戻ったときに、ユーザーが前にいたページのステータス バーの外観が保持されます。
重要
.NET MAUI Community Toolkit のビヘイビアーでは、ビヘイビアーの BindingContext
は設定されません。ビヘイビアーはスタイルを利用して共有し、複数のコントロールに適用できるためです。 詳細については、「.NET MAUI のビヘイビアー」を参照してください
構文
XAML
XAML 名前空間を含める
XAML でこのツールキットを使用するには、次の xmlns
をページまたはビューに追加する必要があります。
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
したがって、以下のコードは、
<ContentPage
x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
</ContentPage>
次のように、xmlns
を含むように変更されます。
<ContentPage
x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit">
</ContentPage>
StatusBarBehavior を使用する
StatusBarBehavior
は、XAML では次のように使用できます。
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
x:Class="MyLittleApp.MainPage">
<ContentPage.Behaviors>
<toolkit:StatusBarBehavior StatusBarColor="Fuchsia" StatusBarStyle="LightContent" />
</ContentPage.Behaviors>
</ContentPage>
C#
StatusBarBehavior
は、C# では次のように使用できます。
class MyPage : ContentPage
{
public MyPage()
{
this.Behaviors.Add(new StatusBarBehavior
{
StatusBarColor = Colors.Red,
StatusBarStyle = StatusBarStyle.LightContent
});
}
}
C# で Statusbar API にアクセスする方法は他にもあり、次のスニペットに示すように、メソッドを直接呼び出すことができます。
class MyPage : ContentPage
{
protected override void OnNavigatedTo(NavigatedToEventArgs args)
{
base.OnNavigatedTo(args);
CommunityToolkit.Maui.Core.Platform.StatusBar.SetColor(statusBarColor);
CommunityToolkit.Maui.Core.Platform.StatusBar.SetStyle(StatusBarStyle.LightContent);
}
}
警告
このコードを MainPage
のコンストラクター、OnAppearing
または OnNavigatedTo
のメソッドに追加する場合は、代わりに Behavior
を使用してください。
これらの場所で直接使用すると、プラットフォーム固有のコンポーネントが初期化されない場合があるため、アプリケーションがクラッシュする可能性があります。
構成
プロパティ
プロパティ | タイプ | 説明 |
---|---|---|
ApplyOn | StatusBarBehavior | ステータス バーの色とスタイルを適用するタイミング。 |
StatusBarColor | 色 | Microsoft.Maui.Graphics 名前空間の Color 名。 |
StatusBarStyle | StatusBarStyle | ステータス バーで使用されるスタイルは、LightContent、DarkContent、Default です。 |
例
このビヘイビアーの動作の例は .NET MAUI Community Toolkit サンプル アプリケーションで確認できます。
API
StatusBarBehavior
のソース コードは、.NET MAUI Community Toolkit の GitHub リポジトリにあります。
.NET MAUI Community Toolkit