Aracılığıyla paylaş


Android'de VisualElement Eski Renk Modu

Bazı görünümlerde Xamarin.Forms eski bir renk modu bulunur. Bu modda, görünümün IsEnabled özelliği olarak falseayarlandığında, görünüm kullanıcı tarafından ayarlanan renkleri devre dışı durumda varsayılan yerel renklerle geçersiz kılar. Geriye dönük uyumluluk için, bu eski renk modu desteklenen görünümler için varsayılan davranış olarak kalır.

Android platformuna özgü bu eski renk modunu devre dışı bırakır, böylece görünüm devre dışı bırakıldığında bile kullanıcı tarafından bir görünümde ayarlanan renkler kalır. Ekli özelliği falseolarak ayarlanarak VisualElement.IsLegacyColorModeEnabled XAML'de kullanılır:

<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>

Alternatif olarak, akıcı API kullanılarak C# dilinden de kullanılabilir:

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific;
...

_legacyColorModeDisabledButton.On<Android>().SetIsLegacyColorModeEnabled(false);

yöntemi, VisualElement.On<Android> platforma özgü bu uygulamanın yalnızca Android'de çalışacağını belirtir. VisualElement.SetIsLegacyColorModeEnabled yöntemi, ad alanında Xamarin.Forms.PlatformConfiguration.AndroidSpecific eski renk modunun devre dışı bırakılıp bırakılmadığını denetlemek için kullanılır. Ayrıca yöntemi, VisualElement.GetIsLegacyColorModeEnabled eski renk modunun devre dışı bırakılıp bırakılmadığını döndürmek için kullanılabilir.

Sonuç olarak, görünüm devre dışı bırakıldığında bile kullanıcı tarafından bir görünümde ayarlanan renklerin kalması için eski renk modu devre dışı bırakılabilir:

Eski renk modu devre dışı

Not

Görünümde ayarlarken VisualStateGroup eski renk modu tamamen yoksayılır. Görsel durumlar hakkında daha fazla bilgi için bkzXamarin.Forms. Visual State Manager.