FadeOverlay
परिचय
FadeOverlay विजेट अपने चाइल्ड विजेट पर एक ग्रेडिएंट फ़ेड इफेक्ट लागू करता है। यह विज़ुअल डेप्थ बनाने, इमेजेज़ पर टेक्स्ट की पठनीयता सुधारने, या अपने UI में स्टाइलिस्टिक इफेक्ट्स जोड़ने के लिए उपयोगी है।
बेसिक उपयोग
ग्रेडिएंट फ़ेड लागू करने के लिए किसी भी विजेट को FadeOverlay से रैप करें:
FadeOverlay(
child: Image.asset('assets/images/background.jpg'),
)
यह ऊपर से पारदर्शी से नीचे डार्क ओवरले तक एक सूक्ष्म फ़ेड बनाता है।
इमेज पर टेक्स्ट के साथ
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),
),
),
],
)
दिशात्मक कंस्ट्रक्टर्स
FadeOverlay सामान्य फ़ेड दिशाओं के लिए नामित कंस्ट्रक्टर्स प्रदान करता है:
FadeOverlay.top
नीचे (पारदर्शी) से ऊपर (रंग) की ओर फ़ेड होता है:
FadeOverlay.top(
child: Image.asset('assets/header.jpg'),
strength: 0.3,
)
FadeOverlay.bottom
ऊपर (पारदर्शी) से नीचे (रंग) की ओर फ़ेड होता है:
FadeOverlay.bottom(
child: Image.asset('assets/card.jpg'),
strength: 0.4,
)
FadeOverlay.left
दाएँ (पारदर्शी) से बाएँ (रंग) की ओर फ़ेड होता है:
FadeOverlay.left(
child: Image.asset('assets/banner.jpg'),
strength: 0.3,
)
FadeOverlay.right
बाएँ (पारदर्शी) से दाएँ (रंग) की ओर फ़ेड होता है:
FadeOverlay.right(
child: Image.asset('assets/banner.jpg'),
strength: 0.3,
)
कस्टमाइज़ेशन
तीव्रता समायोजित करना
strength पैरामीटर फ़ेड इफेक्ट की तीव्रता को नियंत्रित करता है (0.0 से 1.0):
// Subtle fade
FadeOverlay(
child: myImage,
strength: 0.1,
)
// Medium fade
FadeOverlay(
child: myImage,
strength: 0.5,
)
// Strong fade
FadeOverlay(
child: myImage,
strength: 1.0,
)
कस्टम रंग
अपने डिज़ाइन से मेल खाने के लिए ओवरले रंग बदलें:
// 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,
)
कस्टम ग्रेडिएंट दिशा
गैर-मानक दिशाओं के लिए, begin और end अलाइनमेंट निर्दिष्ट करें:
// 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,
)
पैरामीटर्स
| पैरामीटर | टाइप | डिफ़ॉल्ट | विवरण |
|---|---|---|---|
child |
Widget |
आवश्यक | जिस विजेट पर फ़ेड इफेक्ट लागू करना है |
strength |
double |
0.2 |
फ़ेड तीव्रता (0.0 से 1.0) |
color |
Color |
Colors.black |
फ़ेड ओवरले का रंग |
begin |
AlignmentGeometry |
Alignment.topCenter |
ग्रेडिएंट शुरुआती अलाइनमेंट |
end |
AlignmentGeometry |
Alignment.bottomCenter |
ग्रेडिएंट अंतिम अलाइनमेंट |
उदाहरण: फ़ेड के साथ कार्ड
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),
),
],
),
),
],
),
),
)