首页 > 解决方案 > Flutter: how can I do two different things depending on state of an animated icon?

问题描述

          IconButton(
              icon: AnimatedIcon(
                icon: AnimatedIcons.menu_close,
                progress: _animationController,
                semanticLabel: 'Pause',
              ),
              onPressed: () {
                subscription.pause();
                setState(() {
                  expanded ? _animationController.forward() : _animationController.reverse();
                  expanded = !expanded;
                });
              }),

I'd like to do subscription.pause(); when not expanded onpress, and subscription.resume(); when expanded onpress. Any ideas?

标签: flutterdart

解决方案


 IconButton(
          icon: AnimatedIcon(
            icon: AnimatedIcons.menu_close,
            progress: _animationController,
            semanticLabel: 'Pause',
          ),
          onPressed: () {
              expanded ?subscription.resume():subscription.pause();
            setState(() {
              expanded ? _animationController.forward() : 
             _animationController.reverse();
              expanded = !expanded;});

                    
          }),

推荐阅读