ImageButton Drop Shadows v Androidu
Tato platforma pro Android se používá k povolení stínu na platformě ImageButton
. Využívá se v XAML nastavením ImageButton.IsShadowEnabled
vlastnosti bindable na true
, spolu s řadou dalších volitelných vazebných vlastností, které řídí stín přetažení:
<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>
Alternativně ho můžete využívat z jazyka C# pomocí rozhraní FLUENT API:
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);
Důležité
Stín vykreslí se jako součást ImageButton
pozadí a pozadí se nakreslí pouze v případě, že BackgroundColor
je vlastnost nastavena. Proto stín přetažení nebude vykreslen, pokud ImageButton.BackgroundColor
vlastnost není nastavena.
Metoda ImageButton.On<Android>
určuje, že tato konkrétní platforma se bude spouštět pouze v Androidu. Metoda ImageButton.SetIsShadowEnabled
v Xamarin.Forms.PlatformConfiguration.AndroidSpecific
oboru názvů slouží k řízení, zda je v sadě .ImageButton
Kromě toho lze vyvolat následující metody pro řízení stínu:
SetShadowColor
– nastaví barvu stínu. Výchozí barva jeColor.Default
.SetShadowOffset
– nastaví posun stínu. Posun změní směr přetypování stínu a je zadán jakoSize
hodnota. HodnotySize
struktury jsou vyjádřeny v jednotkách nezávislých na zařízeních, přičemž první hodnota je vzdálenost vlevo (záporná hodnota) nebo vpravo (kladná hodnota) a druhá hodnota je vzdálenost nad (záporná hodnota) nebo nižší (kladná hodnota). Výchozí hodnota této vlastnosti je (0,0, 0,0), což vede ke stínu přetypování kolem každé stranyImageButton
.SetShadowRadius
– nastaví poloměr rozostření použitý k vykreslení stínu. Výchozí hodnota poloměru je 10,0.
Poznámka:
Stav stínu může být dotazován voláním GetIsShadowEnabled
, GetShadowColor
, GetShadowOffset
a GetShadowRadius
metody.
Výsledkem je, že stín ImageButton
v :