FadeOverlay
Giriş
FadeOverlay widget'ı, alt widget'ına bir gradyan solma efekti uygular. Bu, görsel derinlik oluşturmak, görseller üzerinde metin okunabilirliğini artırmak veya arayüzünüze stilistik efektler eklemek için kullanışlıdır.
Temel Kullanım
Gradyan solma uygulamak için herhangi bir widget'ı FadeOverlay ile sarın:
FadeOverlay(
child: Image.asset('assets/images/background.jpg'),
)
Bu, üstte şeffaftan alta doğru koyu bir kaplama oluşturur.
Görsel Üzerinde Metin
Stack(
children: [
FadeOverlay(
child: Image.network(
'https://example.com/image.jpg',
fit: BoxFit.cover,
),
strength: 0.5,
),
Positioned(
bottom: 16,
left: 16,
child: Text(
"Photo Title",
style: TextStyle(color: Colors.white, fontSize: 24),
),
),
],
)
Yönlü Kurucular
FadeOverlay, yaygın solma yönleri için adlandırılmış kurucular sağlar:
FadeOverlay.top
Alttan (şeffaf) üste (renk) doğru solar:
FadeOverlay.top(
child: Image.asset('assets/header.jpg'),
strength: 0.3,
)
FadeOverlay.bottom
Üstten (şeffaf) alta (renk) doğru solar:
FadeOverlay.bottom(
child: Image.asset('assets/card.jpg'),
strength: 0.4,
)
FadeOverlay.left
Sağdan (şeffaf) sola (renk) doğru solar:
FadeOverlay.left(
child: Image.asset('assets/banner.jpg'),
strength: 0.3,
)
FadeOverlay.right
Soldan (şeffaf) sağa (renk) doğru solar:
FadeOverlay.right(
child: Image.asset('assets/banner.jpg'),
strength: 0.3,
)
Özelleştirme
Güç Ayarı
strength parametresi solma efektinin yoğunluğunu kontrol eder (0.0 ile 1.0 arası):
// Subtle fade
FadeOverlay(
child: myImage,
strength: 0.1,
)
// Medium fade
FadeOverlay(
child: myImage,
strength: 0.5,
)
// Strong fade
FadeOverlay(
child: myImage,
strength: 1.0,
)
Özel Renk
Tasarımınıza uygun kaplama rengini değiştirin:
// Dark blue overlay
FadeOverlay(
child: Image.asset('assets/photo.jpg'),
color: Colors.blue.shade900,
strength: 0.6,
)
// White overlay for light themes
FadeOverlay.bottom(
child: Image.asset('assets/photo.jpg'),
color: Colors.white,
strength: 0.4,
)
Özel Gradyan Yönü
Standart olmayan yönler için begin ve end hizalamalarını belirtin:
// Diagonal fade (top-left to bottom-right)
FadeOverlay(
child: Image.asset('assets/photo.jpg'),
begin: Alignment.topLeft,
end: Alignment.bottomRight,
strength: 0.5,
)
// Center outward fade
FadeOverlay(
child: Image.asset('assets/photo.jpg'),
begin: Alignment.center,
end: Alignment.bottomCenter,
strength: 0.4,
)
Parametreler
| Parametre | Tür | Varsayılan | Açıklama |
|---|---|---|---|
child |
Widget |
zorunlu | Solma efektinin uygulanacağı widget |
strength |
double |
0.2 |
Solma yoğunluğu (0.0 ile 1.0 arası) |
color |
Color |
Colors.black |
Solma kaplamasının rengi |
begin |
AlignmentGeometry |
Alignment.topCenter |
Gradyan başlangıç hizalaması |
end |
AlignmentGeometry |
Alignment.bottomCenter |
Gradyan bitiş hizalaması |
Örnek: Solmalı Kart
Container(
height: 200,
width: double.infinity,
child: ClipRRect(
borderRadius: BorderRadius.circular(12),
child: Stack(
fit: StackFit.expand,
children: [
FadeOverlay.bottom(
strength: 0.6,
child: Image.network(
'https://example.com/product.jpg',
fit: BoxFit.cover,
),
),
Positioned(
bottom: 16,
left: 16,
right: 16,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
"Product Name",
style: TextStyle(
color: Colors.white,
fontSize: 18,
fontWeight: FontWeight.bold,
),
),
Text(
"\$29.99",
style: TextStyle(color: Colors.white70),
),
],
),
),
],
),
),
)