Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
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é truepouvant ê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 deSizevaleur. LesSizevaleurs 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 GetShadowOffsetGetShadowRadius les GetIsShadowEnabledméthodesGetShadowColor.
Le résultat est qu’une ombre portée peut être activée sur un ImageButton:
