DecoratedBoxTransition
هو عنصر رسومي في Flutter يستخدم لتحريك وتغيير خصائص الزخرفة (Decoration) لـ BoxDecoration
. يمكن استخدام هذا العنصر الرسومي لتحريك الصور والأشكال والخلفيات وتحسين تجربة المستخدم.
خصائص DecoratedBoxTransition
هناك عدة خصائص يمكن تعيينها في DecoratedBoxTransition
لضبط الطريقة التي يتم بها تغيير خصائص الزخرفة. وفيما يلي شرح لكل خاصية بالتفصيل:
“اقرأ أيضاً: شرح استخدام ويدجت Tooltip في فلاتر“
decoration
تحدد خصائص الزخرفة (Decoration) التي يتم تغييرها. يمكن استخدام أي BoxDecoration
لهذه الخاصية.
DecoratedBoxTransition( decoration: _decoration, child: Container( width: 200, height: 200, ), )
position
تحدد مكان بدء التحرك والتغيير في خصائص الزخرفة. يمكن استخدام أي نقطة Alignment
لهذه الخاصية.
DecoratedBoxTransition( decoration: _decoration, duration: Duration(seconds: 1), position: DecorationPosition.background, child: Container( width: 200, height: 200, ), )
“اقرأ أيضاً: شرح استخدام ويدجت SafeArea في فلاتر“
child
يحدد العنصر الذي يتم تغيير خصائص الزخرفة فيه.
DecoratedBoxTransition( decoration: _decoration, duration: Duration(seconds: 1), child: Container( width: 200, height: 200, ), )
مثال على استخدام DecoratedBoxTransition
في فلاتر
فيما يلي مثال كامل على استخدام DecoratedBoxTransition
في Flutter لتحريك وتغيير خصائص الزخرفة لـ BoxDecoration
:
import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'DecoratedBoxTransition Example', theme: ThemeData( primarySwatch: Colors.blue, ), home: const MyDecoratedBoxTransition(), ); } } class MyDecoratedBoxTransition extends StatefulWidget { const MyDecoratedBoxTransition({Key? key}) : super(key: key); @override _MyDecoratedBoxTransitionState createState() => _MyDecoratedBoxTransitionState(); } class _MyDecoratedBoxTransitionState extends State<MyDecoratedBoxTransition> with TickerProviderStateMixin { late AnimationController _controller; late Animation<Decoration> _animation; @override void initState() { super.initState(); _controller = AnimationController( duration: const Duration(seconds: 2), vsync: this, ); _animation = DecorationTween( begin: BoxDecoration( color: Colors.blue, borderRadius: BorderRadius.circular(20), ), end: BoxDecoration( color: Colors.red, borderRadius: BorderRadius.circular(100), ), ).animate(_controller); _controller.repeat(reverse: true); } @override Widget build(BuildContext context) { return MaterialApp( title: 'DecoratedBoxTransition Demo', home: Scaffold( appBar: AppBar( title: const Text('DecoratedBoxTransition Demo'), ), body: Center( child: DecoratedBoxTransition( decoration: _animation, position: DecorationPosition.background, child: Container( width: 200, height: 200, ), ), ), ), ); } @override void dispose() { _controller.dispose(); super.dispose(); } }
في هذا المثال، تم إنشاء DecorationTween
لتحديد خصائص الزخرفة التي يتم تغييرها. تم استخدام BoxDecoration
لتحديد اللون وشكل الحواف. ثم تم إنشاء AnimationController
و Animation<Decoration>
لتحريك وتغيير الخصائص. تم إنشاء عنصر DecoratedBoxTransition
وتمرير الديكور الذي يتم تغييره والموضع الذي يتم تغييره فيه والعنصر الذي يتم تغيير خصائصه. تم استخدام Center
لعرض العنصر في المنتصف.
يمكن تخصيص هذا المثال بتغيير قيم BoxDecoration
لتحديد اللون وشكل الحواف ومدة التحرك والمنحنى ومكان بدء التحرك.
“اقرأ أيضاً: شرح استخدام ويدجت TextField في فلاتر“
DecoratedBoxTransition
هو عنصر رسومي يساعد المطورين على تحريك وتغيير خصائص الزخرفة لـ BoxDecoration
في واجهة المستخدم. يمكن تخصيص العديد من الخصائص لتعديل طريقة تغيير الزخرفة، بما في ذلك التحكم في مدة التحرك ومنحنى التحول ومكان بدء التحرك وتشغيل وظائف مخصصة عند انتهاء التحرك. يمكن استخدام هذا العنصر الرسومي في العديد من التطبيقات ، مثل تحريك عنصر بصري عند النقر عليه أو إضافة تحركات إلى الصفحات في تطبيقات الويب.
أما بشكل عام، فإن DecoratedBoxTransition
هو أداة قوية لإضافة حركة وتفاعلية إلى واجهة المستخدم في تطبيقات Flutter. يمكن استخدام هذا العنصر الرسومي بسهولة وتخصيصه لتلبية متطلبات التطبيق الفريدة.