Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Některá zobrazení Xamarin.Forms mají starší režim barev. V tomto režimu, když IsEnabled je vlastnost zobrazení nastavena na false, zobrazení přepíše barvy nastavené uživatelem s výchozími nativními barvami pro zakázaný stav. Kvůli zpětné kompatibilitě zůstává tento starší barevný režim výchozím chováním podporovaných zobrazení.
Tato platforma pro Android zakáže tento starší režim barev, takže barvy nastavené v zobrazení uživatelem zůstanou i v případě, že je zobrazení zakázané. Využívá se v XAML nastavením VisualElement.IsLegacyColorModeEnabled připojené vlastnosti na false:
<ContentPage ...
xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core">
<StackLayout>
...
<Button Text="Button"
TextColor="Blue"
BackgroundColor="Bisque"
android:VisualElement.IsLegacyColorModeEnabled="False" />
...
</StackLayout>
</ContentPage>
Alternativně ho můžete využívat z jazyka C# pomocí rozhraní FLUENT API:
using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific;
...
_legacyColorModeDisabledButton.On<Android>().SetIsLegacyColorModeEnabled(false);
Metoda VisualElement.On<Android> určuje, že tato konkrétní platforma se bude spouštět pouze v Androidu. Metoda VisualElement.SetIsLegacyColorModeEnabled v Xamarin.Forms.PlatformConfiguration.AndroidSpecific oboru názvů slouží k řízení, zda je starší barevný režim zakázán. Kromě toho lze metodu VisualElement.GetIsLegacyColorModeEnabled použít k vrácení, zda je starší barevný režim zakázán.
Výsledkem je, že starší režim barev je možné zakázat, takže barvy nastavené v zobrazení uživatelem zůstanou i v případě, že je zobrazení zakázané:

Poznámka:
Při nastavování VisualStateGroup zobrazení je starší barevný režim zcela ignorován. Další informace o stavech vizuálů naleznete v tématu Správce stavu vizuáluXamarin.Forms.