Bayangan membuat isyarat visual di antarmuka, yang membantu otak manusia membedakan elemen UI yang dilihat pengguna. Dan, inilah alasan mengapa sebenarnya desainer ponsel lebih suka memasukkan bayangan dalam desain mereka.
Kelas DropShadow menyediakan sarana untuk membuat bayangan yang dapat dikonfigurasi yang dapat diterapkan ke Layout .
public class DropShadow : BindableObject
{
public static readonly BindableProperty RadiusProperty = BindableProperty.Create(
nameof(Radius), typeof(double), typeof(DropShadow), 10.0d);
public double Radius
{
get => (double)GetValue(RadiusProperty);
set => SetValue(RadiusProperty, value);
}
public static readonly BindableProperty ColorProperty = BindableProperty.Create(
nameof(Color), typeof(Color), typeof(DropShadow), Color.Black);
public Color Color
{
get => (Color)GetValue(ColorProperty);
set => SetValue(ColorProperty, value);
}
public static readonly BindableProperty OffsetProperty = BindableProperty.Create(
nameof(Offset), typeof(Point), typeof(DropShadow), new Point(1, 1));
public Point Offset
{
get => (Point)GetValue(OffsetProperty);
set => SetValue(OffsetProperty, value);
}
public static readonly BindableProperty OpacityProperty = BindableProperty.Create(
nameof(Opacity), typeof(double), typeof(DropShadow), 1.0d);
public double Opacity
{
get => (double)GetValue(OpacityProperty);
set => SetValue(OpacityProperty, value);
}
}
Mari kita lihat contoh menggunakan C#, XAML dan CSS.
var layout = new Grid();
var shadow = new DropShadow ();
shadow.Radius = 12;
shadow.Color = Color.Red;
shadow.Offset = new Point (12, 18);
shadow.Opacity = 0.75d;
layout.Shadow = shadow;
<Grid>
<Grid.Shadow>
<DropShadow
Radius="12"
Color="Red"
Offset="12, 18"
Opacity="0.75" />
</Grid.Shadow>
</Grid>
box-shadow: 12px 18px 12px 12px red;
Kami sudah memiliki bayangan di beberapa Tata Letak Xamarin.Forms. Properti HasShadow Frame akan menjadi usang (masih bisa digunakan, meskipun penggunaan properti Shadow akan direkomendasikan).
Dalam Spec ini, kami menambahkan bayangan ke Xamarin.Forms Layouts yang berbeda. Kontrol khusus, seperti Label, tidak termasuk dalam cakupan (bisa datang nanti).
Tampak hebat!
Luar biasa! Saya sangat ingin melihat fitur ini. Namun, saya pikir kita dapat mengambil kesempatan untuk meningkatkan ini sedikit lebih banyak dengan menambahkan kemampuan bayangan gradien.
Seperti yang disebutkan @jsuarezruiz di sini: https://github.com/dotnet/maui/issues/11
Rekomendasi saya adalah untuk meningkatkan properti "Warna" untuk menggunakan "Kuas" baru untuk gradien dan warna solid.
<Grid>
<Grid.Shadow>
<DropShadow
Radius="12"
Offset="12, 18"
Opacity="0.75">
<DropShadow.Color>
<LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Color="Yellow" Offset="0.0" />
<GradientStop Color="Red" Offset="0.25" />
<GradientStop Color="Blue" Offset="0.75" />
<GradientStop Color="LimeGreen" Offset="1.0" />
</LinearGradientBrush>
</DropShadow.Color>
</DropShadow>
</Grid.Shadow>
</Grid>
Bagaimana menurutmu?
Bisa jadi bagus untuk menambahkan beberapa Shadow untuk desain neuromorfik.
Ini adalah hal-hal mode baru ...
Komentar yang paling membantu
Luar biasa! Saya sangat ingin melihat fitur ini. Namun, saya pikir kita dapat mengambil kesempatan untuk meningkatkan ini sedikit lebih banyak dengan menambahkan kemampuan bayangan gradien.
Seperti yang disebutkan @jsuarezruiz di sini: https://github.com/dotnet/maui/issues/11
Rekomendasi saya adalah untuk meningkatkan properti "Warna" untuk menggunakan "Kuas" baru untuk gradien dan warna solid.
Sampel
Bagaimana menurutmu?