Share via


Ombres déroulantes VisualElement sur iOS

Cette plateforme iOS spécifique est utilisée pour activer une ombre portée sur un VisualElement. Elle est consommée en XAML en définissant la VisualElement.IsShadowEnabled propriété truejointe sur , ainsi qu’un certain nombre de propriétés facultatives facultatives qui contrôlent l’ombre déroulante :

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

Elle peut également être consommée à partir de C# à l’aide de l’API Fluent :

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

La VisualElement.On<iOS> méthode spécifie que cette plateforme ne s’exécutera que sur iOS. La VisualElement.SetIsShadowEnabled méthode, dans l’espace Xamarin.Forms.PlatformConfiguration.iOSSpecific de noms, est utilisée pour contrôler si une ombre déroulante est activée sur le VisualElement. En outre, les méthodes suivantes peuvent être appelées pour contrôler l’ombre portée :

  • SetShadowColor : définit la couleur de l’ombre portée. La couleur par défaut est Color.Default.
  • SetShadowOffset : définit le décalage de l’ombre portée. Le décalage change la direction dans laquelle l’ombre est castée et est spécifié sous forme de Size valeur. Les Size valeurs de structure sont exprimées en unités indépendantes de l’appareil, la première valeur étant la distance à gauche (valeur négative) ou droite (valeur positive), et la deuxième valeur étant la distance au-dessus (valeur négative) ou inférieure (valeur positive). La valeur par défaut de cette propriété est (0.0, 0.0), ce qui entraîne la conversion de l’ombre autour de chaque côté du VisualElement.
  • SetShadowOpacity : définit l’opacité de l’ombre portée, avec la valeur comprise entre 0,0 (transparent) et 1,0 (opaque). La valeur d’opacité par défaut est 0,5.
  • SetShadowRadius : définit le rayon flou utilisé pour afficher l’ombre portée. La valeur du rayon par défaut est 10,0.

Remarque

L’état d’une ombre portée peut être interrogé en appelant les méthodes et les GetIsShadowEnabledméthodes.GetShadowRadiusGetShadowColorGetShadowOffsetGetShadowOpacity

Le résultat est qu’une ombre portée peut être activée sur un VisualElement:

Ombre déroulante activée