Sobes.tech
Junior — Middle

Ինչպես կառավարել անիմացիան՝ օգտագործելով AnimationController ձեր հավելվածում?

sobes.tech AI

Պատասխան AI-ից

Flutter- ում, AnimationController դասը օգտագործվում է անիմացիայի կառավարելու համար: Դա թույլ է տալիս սկսել, կանգնեցնել, կրկնել և վերահսկել անիմացիայի առաջընթացը:

Հիմնական քայլեր՝

  1. Ստեղծեք AnimationController՝ widget-ի վիճակում (հաճախ initState մեթոդում), նշելով անիմացիայի տևողությունը և vsync-ը (ռեսուրսների օպտիմալացման համար):
  2. Օգտագործեք վերահսկիչի մեթոդները՝ forward(), reverse(), repeat(), stop()՝ անիմացիան կառավարելու համար:
  3. Գրանցվեք անիմացիայի արժեքի փոփոխությունների վրա՝ addListener-ի միջոցով, որպեսզի թարմացնեք UI-ն:
  4. Մի մոռացեք ռեսուրսները ազատել՝ calling dispose() widget-ի dispose մեթոդում:

Օրինակ՝

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(() {}); // թարմացնում է UI-ն անիմացիայի փոփոխության ժամանակ
      });
    _controller.forward(); // սկսում է անիմացիան
  }

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

  @override
  Widget build(BuildContext context) {
    return Opacity(
      opacity: _controller.value, // արժեք 0.0-ից 1.0
      child: YourWidget(),
    );
  }
}