Tryb kolorów tekstu paska nawigacji w systemie iOS
Ten specyficzny dla platformy określa, czy kolor tekstu paska stanu na obiekcie NavigationPage
jest dostosowywany tak, aby był zgodny z jaskrawością paska nawigacyjnego. Jest on używany w języku XAML przez ustawienie dołączonej NavigationPage.StatusBarTextColorMode
właściwości na wartość StatusBarTextColorMode
wyliczenia:
<FlyoutPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core"
x:Class="PlatformSpecifics.iOSStatusBarTextColorModePage">
<FlyoutPage.Flyout>
<ContentPage Title="Flyout Page Title" />
</FlyoutPage.Flyout>
<FlyoutPage.Detail>
<NavigationPage BarBackgroundColor="Blue" BarTextColor="White"
ios:NavigationPage.StatusBarTextColorMode="MatchNavigationBarTextLuminosity">
<x:Arguments>
<ContentPage>
<Label Text="Slide the master page to see the status bar text color mode change." />
</ContentPage>
</x:Arguments>
</NavigationPage>
</FlyoutPage.Detail>
</FlyoutPage>
Alternatywnie można go używać z poziomu języka C# przy użyciu płynnego interfejsu API:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.iOSSpecific;
...
IsPresentedChanged += (sender, e) =>
{
var flyoutPage = sender as FlyoutPage;
if (flyoutPage.IsPresented)
((Xamarin.Forms.NavigationPage)flyoutPage.Detail)
.On<iOS>()
.SetStatusBarTextColorMode(StatusBarTextColorMode.DoNotAdjust);
else
((Xamarin.Forms.NavigationPage)flyoutPage.Detail)
.On<iOS>()
.SetStatusBarTextColorMode(StatusBarTextColorMode.MatchNavigationBarTextLuminosity);
};
Metoda NavigationPage.On<iOS>
określa, że ta platforma będzie działać tylko w systemie iOS. Metoda NavigationPage.SetStatusBarTextColorMode
w Xamarin.Forms.PlatformConfiguration.iOSSpecific
przestrzeni nazw określa, czy kolor tekstu paska stanu na NavigationPage
obiekcie jest dostosowywany w celu dopasowania do jasności paska nawigacyjnego, a StatusBarTextColorMode
wyliczenie zapewnia dwie możliwe wartości:
DoNotAdjust
— wskazuje, że nie należy dostosowywać koloru tekstu paska stanu.MatchNavigationBarTextLuminosity
— wskazuje, że kolor tekstu paska stanu powinien odpowiadać jaskrawości paska nawigacyjnego.
Ponadto GetStatusBarTextColorMode
można użyć metody , aby pobrać bieżącą wartość StatusBarTextColorMode
wyliczenia zastosowanego do klasy NavigationPage
.
Wynikiem jest to, że kolor tekstu paska stanu na obiekcie NavigationPage
można dostosować tak, aby był zgodny z jaskrawością paska nawigacyjnego. W tym przykładzie kolor tekstu paska stanu zmienia się, gdy użytkownik przełącza się między Flyout
stronami i Detail
elementu FlyoutPage
: