ImageButton Drop Shadows di Android
Platform Android ini khusus digunakan untuk mengaktifkan drop shadow pada ImageButton
. Ini digunakan dalam XAML dengan mengatur ImageButton.IsShadowEnabled
properti yang dapat diikat ke true
, bersama dengan sejumlah properti opsional yang dapat diikat tambahan yang mengontrol bayangan drop:
<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>
Atau, dapat dikonsumsi dari C# menggunakan API fasih:
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);
Penting
Bayangan jatuh digambar sebagai bagian ImageButton
dari latar belakang, dan latar belakang hanya digambar jika BackgroundColor
properti diatur. Oleh karena itu, bayangan jatuh tidak akan digambar jika ImageButton.BackgroundColor
properti tidak diatur.
Metode ImageButton.On<Android>
ini menentukan bahwa platform khusus ini hanya akan berjalan di Android. Metode ImageButton.SetIsShadowEnabled
ini, di Xamarin.Forms.PlatformConfiguration.AndroidSpecific
namespace layanan, digunakan untuk mengontrol apakah bayangan jatuh diaktifkan pada ImageButton
. Selain itu, metode berikut dapat dipanggil untuk mengontrol bayangan jatuh:
SetShadowColor
– mengatur warna bayangan jatuh. Warna defaultnya adalahColor.Default
.SetShadowOffset
– mengatur offset dari drop shadow. Offset mengubah arah bayangan ditransmisikan, dan ditentukan sebagaiSize
nilai. NilaiSize
struktur dinyatakan dalam unit independen perangkat, dengan nilai pertama adalah jarak ke kiri (nilai negatif) atau kanan (nilai positif), dan nilai kedua adalah jarak di atas (nilai negatif) atau di bawah (nilai positif). Nilai default properti ini adalah (0,0, 0,0), yang menghasilkan bayangan yang dilemparkan di setiap sisiImageButton
.SetShadowRadius
– mengatur radius kabur yang digunakan untuk merender bayangan jatuh. Nilai radius default adalah 10,0.
Catatan
Status drop shadow dapat dikueri dengan memanggil GetIsShadowEnabled
metode , , GetShadowColor
GetShadowOffset
, dan GetShadowRadius
.
Hasilnya adalah bahwa bayangan jatuh dapat diaktifkan pada ImageButton
: