يعد FadeTransition أحد عناصر واجهة المستخدم في Flutter الذي يسمح لنا بتحريك وتغيير الشفافية للعناصر في التطبيق. بشكل عام، يتم استخدام هذا العنصر لإنشاء تأثيرات انتقالية سلسة وأنيقة بين عناصر مختلفة في التطبيق.
تتيح لنا FadeTransition إمكانية التحكم في شفافية العنصر، وتحديد الوقت الذي يستغرقه التأثير، وتحديد القيم الأولية والنهائية للعنصر. في هذه المقالة، سنقوم بشرح FadeTransition بالتفصيل، وسنتناول جميع خصائصه بالتفصيل مع الأمثلة المناسبة.
خصائص FadeTransition
opacity
يتم استخدام هذه الخاصية لتحديد شفافية العنصر. يمكن تحديد القيمة بين 0.0 (العنصر غير مرئي) و 1.0 (العنصر مرئي بشكل كامل).
FadeTransition(
opacity: _animation,
child: Container(
width: 200,
height: 200,
color: Colors.blue,
),
),
“اقرأ أيضاً: شرح استخدام ويدجت Tooltip في فلاتر“
alwaysIncludeSemantics
يتم استخدام هذه الخاصية لتحديد ما إذا كان العنصر يجب أن يشمل بيانات الدلالة (semantics) دائمًا أم لا. إذا تم تعيين هذه الخاصية إلى true ، فسيتم تضمين بيانات الدلالة في جميع الأوقات.
FadeTransition(
opacity: _animation,
alwaysIncludeSemantics: true,
child: Container(
width: 200,
height: 200,
color: Colors.blue,
),
),
“اقرأ أيضاً: شرح استخدام ويدجت SafeArea في فلاتر“
استخدام FadeTransition
لإنشاء FadeTransition ، نحتاج إلى تحديد العنصر الذي نريد تطبيق التأثير عليه باستخدام خاصية child ، ثم نحتاج إلى تحديد opacity باستخدام إما Animation أو AnimationController.
لتطبيق التأثير، يمكن استخدام AnimatedBuilder لإنشاء العنصر وتطبيق التأثير عليه. يتم إنشاء AnimationController أولاً، ثم إنشاء Tween لتحديد قيم الشفافية الأولية والنهائية. يتم إنشاء Animation باستخدام Tween.animate و AnimationController ، ثم يتم تطبيق FadeTransition باستخدام Animation و child.
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'FadeTransition Example',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyFadeTransition(),
);
}
}
class MyFadeTransition extends StatefulWidget {
@override
_MyFadeTransitionState createState() => _MyFadeTransitionState();
}
class _MyFadeTransitionState extends State<MyFadeTransition>
with SingleTickerProviderStateMixin {
late AnimationController _animationController;
late Animation<double> _animation;
@override
void initState() {
super.initState();
_animationController = AnimationController(
vsync: this,
duration: const Duration(milliseconds: 500),
);
_animation =
Tween<double>(begin: 0.0, end: 1.0).animate(_animationController);
_animationController.forward();
}
@override
void dispose() {
_animationController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return AnimatedBuilder(
animation: _animation,
builder: (BuildContext context, Widget? child) {
return FadeTransition(
opacity: _animation,
child: Container(
width: 200,
height: 200,
color: Colors.blue,
),
);
},
);
}
}
“اقرأ أيضاً: شرح استخدام ويدجت TextField في فلاتر“
إن FadeTransition هو عنصر واجهة المستخدم في Flutter الذي يتيح لنا إنشاء تأثيرات انتقالية سلسة وأنيقة بين العناصر في التطبيق. يتم استخدام opacity لتحديد شفافية العنصر، و curve لتحديد الانحناء الزمني للتأثير، و duration لتحديد المدة الزمنية للتأثير. يمكن استخدام AnimatedBuilder لإنشاء العنصر وتطبيق التأثير عليه باستخدام Animation و child. باستخدام هذه الخصائص بشكل صحيح، يمكننا إنشاء تأثيرات رائعة وانتقالية سلسة في تطبيقاتنا.




