Sobes.tech
Junior — Middle

Tətbiqinizdə AnimationController vasitəsilə animasiyanı necə idarə etmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

Flutter-da animasiyanı idarə etmək üçün AnimationController sinfi istifadə olunur. Bu, animasiyanı başlatmağa, dayandırmağa, təkrarlamağa və irəliləyişini idarə etməyə imkan verir.

Əsas addımlar:

  1. Widget-in vəziyyətində AnimationController yaradın (adətən initState metodunda), animasiya müddətini və vsync-i göstərin (resursların optimallaşdırılması üçün).
  2. Kontrollerin metodlarından istifadə edin: forward(), reverse(), repeat(), stop() animasiyanı idarə etmək üçün.
  3. Animasiya dəyərindəki dəyişikliklərə addListener vasitəsilə abunə olun və UI-ni yeniləyin.
  4. Resursları sərbəst buraxmağı unutmayın, widget-in dispose metodunda dispose() çağırın.

Nümunə:

class MyAnimatedWidgetState extends State<MyAnimatedWidget> with SingleTickerProviderStateMixin {
  late AnimationController _controller;

  @override
  void initState() {
    super.initState();
    _controller = AnimationController(
      duration: const Duration(seconds: 2),
      vsync: this,
    )..addListener(() {
        setState(() {}); // animasiya dəyişdikcə UI yenilənir
      });
    _controller.forward(); // animasiyanı başlat
  }

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Opacity(
      opacity: _controller.value, // 0.0-dan 1.0-ə qədər dəyər
      child: YourWidget(),
    );
  }
}