ImageButton Drop Shadows sur Android
Cette plateforme Android spécifique est utilisée pour activer une ombre portée sur un ImageButton
. Elle est consommée en XAML en définissant la ImageButton.IsShadowEnabled
propriété true
pouvant être liée, ainsi qu’un certain nombre de propriétés pouvant être liées facultatives supplémentaires qui contrôlent l’ombre déroulante :
<ContentPage ...
xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core">
<StackLayout Margin="20">
<ImageButton ...
Source="XamarinLogo.png"
BackgroundColor="GhostWhite"
android:ImageButton.IsShadowEnabled="true"
android:ImageButton.ShadowColor="Gray"
android:ImageButton.ShadowRadius="12">
<android:ImageButton.ShadowOffset>
<Size>
<x:Arguments>
<x:Double>10</x:Double>
<x:Double>10</x:Double>
</x:Arguments>
</Size>
</android:ImageButton.ShadowOffset>
</ImageButton>
...
</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.AndroidSpecific;
...
var imageButton = new Xamarin.Forms.ImageButton { Source = "XamarinLogo.png", BackgroundColor = Color.GhostWhite, ... };
imageButton.On<Android>()
.SetIsShadowEnabled(true)
.SetShadowColor(Color.Gray)
.SetShadowOffset(new Size(10, 10))
.SetShadowRadius(12);
Important
Une ombre déroulante est dessinée dans le cadre de l’arrière-plan ImageButton
et l’arrière-plan est dessiné uniquement si la BackgroundColor
propriété est définie. Par conséquent, une ombre déroulante ne sera pas dessinée si la ImageButton.BackgroundColor
propriété n’est pas définie.
La ImageButton.On<Android>
méthode spécifie que cette plateforme spécifique ne s’exécutera que sur Android. La ImageButton.SetIsShadowEnabled
méthode, dans l’espace Xamarin.Forms.PlatformConfiguration.AndroidSpecific
de noms, est utilisée pour contrôler si une ombre déroulante est activée sur le ImageButton
. 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 estColor.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 deSize
valeur. LesSize
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é duImageButton
.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 GetShadowOffset
GetShadowRadius
les GetIsShadowEnabled
méthodesGetShadowColor
.
Le résultat est qu’une ombre portée peut être activée sur un ImageButton
: