VisualElement Drop Shadows unter iOS
Diese iOS-plattformspezifische Wird verwendet, um einen Schlagschatten auf einem VisualElement
zu aktivieren. Sie wird in XAML verwendet, indem die VisualElement.IsShadowEnabled
angefügte Eigenschaft auf true
festgelegt wird, zusammen mit einer Reihe zusätzlicher optional angefügter Eigenschaften, die den Schlagschatten steuern:
<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>
Alternativ kann es über C# mithilfe der Fluent-API verwendet werden:
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);
Die VisualElement.On<iOS>
-Methode gibt an, dass diese plattformspezifische Nur unter iOS ausgeführt wird. Die VisualElement.SetIsShadowEnabled
-Methode im Xamarin.Forms.PlatformConfiguration.iOSSpecific
-Namespace wird verwendet, um zu steuern, ob ein Schlagschatten für VisualElement
aktiviert ist. Darüber hinaus können die folgenden Methoden aufgerufen werden, um den Schlagschatten zu steuern:
SetShadowColor
– legt die Farbe des Schlagschatten fest. Die Standardfarbe istColor.Default
.SetShadowOffset
– legt den Offset des Schlagschatten fest. Der Offset ändert die Richtung, in die der Schatten geworfen wird, und wird alsSize
Wert angegeben. DieSize
Strukturwerte werden in geräteunabhängigen Einheiten ausgedrückt, wobei der erste Wert der Abstand nach links (negativer Wert) oder rechts (positiver Wert) ist, und der zweite Wert ist der Abstand über (negativer Wert) oder darunter (positiver Wert). Der Standardwert dieser Eigenschaft ist (0,0, 0,0), was dazu führt, dass der Schatten um jede Seite vonVisualElement
umgeworfen wird.SetShadowOpacity
– legt die Deckkraft des Schlagschattens fest, wobei der Wert im Bereich 0,0 (transparent) bis 1,0 (undurchsichtig) liegt. Der Standardmäßige Deckkraftwert ist 0,5.SetShadowRadius
– legt den Weichzeichnerradius fest, der zum Rendern des Schlagschattenschatten verwendet wird. Der Standardradiuswert ist 10,0.
Hinweis
Der Status eines Schlagschattens kann durch Aufrufen der GetIsShadowEnabled
Methoden , , GetShadowOffset
GetShadowColor
, GetShadowOpacity
und GetShadowRadius
abgefragt werden.
Das Ergebnis ist, dass ein Schlagschatten für eine VisualElement
aktiviert werden kann: