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 VisualElement
jest włączony cień. Ponadto w celu kontrolowania cienia można wywołać następujące metody:
SetShadowColor
– ustawia kolor cienia kropli. Domyślnym kolorem jestColor.Default
.SetShadowOffset
— ustawia przesunięcie cienia kropli. Przesunięcie zmienia kierunek rzutowania cienia i jest określony jakoSize
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 stronyVisualElement
obiektu .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 GetIsShadowEnabled
metody , , GetShadowColor
GetShadowOffset
, GetShadowOpacity
i GetShadowRadius
.
W rezultacie można włączyć cień w obiekcie VisualElement
: