ImageButton Drop Shadows on Android
Questo specifico della piattaforma Android viene usato per abilitare un'ombreggiatura in un oggetto ImageButton
. Viene utilizzato in XAML impostando la ImageButton.IsShadowEnabled
proprietà associabile su , insieme a true
una serie di proprietà associabili facoltative aggiuntive che controllano l'ombreggiatura di rilascio:
<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>
In alternativa, può essere usato da C# usando 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);
Importante
Un'ombreggiatura viene disegnata come parte dello ImageButton
sfondo e lo sfondo viene disegnato solo se la BackgroundColor
proprietà è impostata. Pertanto, un'ombreggiatura non verrà disegnata se la ImageButton.BackgroundColor
proprietà non è impostata.
Il ImageButton.On<Android>
metodo specifica che questa specifica della piattaforma verrà eseguita solo in Android. Il ImageButton.SetIsShadowEnabled
metodo, nello spazio dei Xamarin.Forms.PlatformConfiguration.AndroidSpecific
nomi , viene usato per controllare se è abilitata un'ombreggiatura nell'oggetto ImageButton
. Inoltre, è possibile richiamare i metodi seguenti per controllare l'ombreggiatura:
SetShadowColor
: imposta il colore dell'ombreggiatura. Il colore predefinito èColor.Default
.SetShadowOffset
: imposta l'offset dell'ombreggiatura. L'offset modifica la direzione in cui viene eseguito il cast dell'ombreggiatura e viene specificato comeSize
valore. I valori dellaSize
struttura sono espressi in unità indipendenti dal dispositivo, con il primo valore che corrisponde alla distanza verso sinistra (valore negativo) o destro (valore positivo) e il secondo valore è la distanza sopra (valore negativo) o inferiore (valore positivo). Il valore predefinito di questa proprietà è (0,0, 0,0), che comporta il cast dell'ombreggiatura intorno a ogni lato diImageButton
.SetShadowRadius
: imposta il raggio di sfocatura usato per eseguire il rendering dell'ombreggiatura. Il valore predefinito del raggio è 10,0.
Nota
Lo stato di un'ombreggiatura può essere sottoposto a query chiamando i GetIsShadowEnabled
metodi , GetShadowColor
GetShadowOffset
, e GetShadowRadius
.
Il risultato è che un'ombreggiatura può essere abilitata in un ImageButton
oggetto :