Udostępnij za pośrednictwem


VisualElement Drop Shadows w systemie iOS

Ten specyficzny dla platformy systemu iOS służy do włączania cienia upuszczania na obiekcie VisualElement. Jest on używany w języku XAML przez ustawienie dołączonej VisualElement.IsShadowEnabled właściwości na true, wraz z kilkoma dodatkowymi opcjonalnymi dołączonymi właściwościami, które kontrolują cień upuszczania:

<ContentPage ...
             xmlns:ios="clr-namespace:Xamarin.Forms.PlatformConfiguration.iOSSpecific;assembly=Xamarin.Forms.Core">
    <StackLayout Margin="20">
        <BoxView ...
                 ios:VisualElement.IsShadowEnabled="true"
                 ios:VisualElement.ShadowColor="Purple"
                 ios:VisualElement.ShadowOpacity="0.7"
                 ios:VisualElement.ShadowRadius="12">
            <ios:VisualElement.ShadowOffset>
                <Size>
                    <x:Arguments>
                        <x:Double>10</x:Double>
                        <x:Double>10</x:Double>
                    </x:Arguments>
                </Size>
            </ios:VisualElement.ShadowOffset>
         </BoxView>
        ...
    </StackLayout>
</ContentPage>

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

var boxView = new BoxView { Color = Color.Aqua, WidthRequest = 100, HeightRequest = 100 };
boxView.On<iOS>()
       .SetIsShadowEnabled(true)
       .SetShadowColor(Color.Purple)
       .SetShadowOffset(new Size(10,10))
       .SetShadowOpacity(0.7)
       .SetShadowRadius(12);

Metoda VisualElement.On<iOS> określa, że ta platforma będzie działać tylko w systemie iOS. Metoda VisualElement.SetIsShadowEnabled w Xamarin.Forms.PlatformConfiguration.iOSSpecific przestrzeni nazw służy do kontrolowania, czy w elemecie VisualElementjest włączony cień. Ponadto w celu kontrolowania cienia można wywołać następujące metody:

  • SetShadowColor – ustawia kolor cienia kropli. Domyślnym kolorem jest Color.Default.
  • SetShadowOffset — ustawia przesunięcie cienia kropli. Przesunięcie zmienia kierunek rzutowania cienia i jest określony jako Size wartość. Size Wartości struktury są wyrażane w jednostkach niezależnych od urządzenia, a pierwsza wartość jest odległością do lewej (wartości ujemnej) lub prawej (wartość dodatnia), a druga wartość jest odległością powyżej (wartość ujemna) lub poniżej (wartość dodatnia). Wartość domyślna tej właściwości to (0.0, 0.0), co powoduje rzutowanie cienia wokół każdej strony VisualElementobiektu .
  • SetShadowOpacity — ustawia nieprzezroczystość cienia, a wartość mieści się w zakresie 0,0 (przezroczystym) na 1,0 (nieprzezroczyste). Domyślna wartość nieprzezroczystości to 0,5.
  • SetShadowRadius — ustawia promień rozmycia używany do renderowania cienia. Domyślna wartość promienia to 10.0.

Uwaga

Stan cienia upuszczania można wykonywać, wywołując GetIsShadowEnabledmetody , , GetShadowColorGetShadowOffset, GetShadowOpacityi GetShadowRadius .

W rezultacie można włączyć cień w obiekcie VisualElement:

Porzucanie cienia jest włączone