微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

按下按钮时的动画文本过渡

如何解决按下按钮时的动画文本过渡

我有 3 种引号。当按下相应的按钮时,如果引用从类别 1 到类别 2 再到类别 3,则引用会消失,反之亦然。

但是,即使它们来自同一类别,我也想让引用消失。现在,当引用来自不同类别时,它会消失。

这怎么可能?谢谢

我认为这与按钮有关。例如。当按下猫 1 的按钮时,猫 1 的引用的不透明度变为 0 并返回 1(持续时间为一秒)。 但我不知道怎么写。

下面附上此操作中涉及的主要代码块:


  double opacity1 = 0.0;
  double opacity2 = 0.0;
  double opacity3 = 0.0;

String quoteCat1 = List1[Random().nextInt(List1.length)];

  void generateConvoTopic1() {
    setState(() {
      quoteCat1 = List1[Random().nextInt(List1.length)];
    });
  }

  String quoteCat2 = List2[Random().nextInt(List2.length)];

  void generateConvoTopic2() {
    setState(() {
      convoTopic2 = List2[Random().nextInt(List2.length)];
    });
  }

  String quoteCat3 = List3[Random().nextInt(List3.length)];

  void generateConvoTopic3() {
    setState(() {
      quoteCat3 = List3[Random().nextInt(List3.length)];
    });
  }

 @override
  Widget build(BuildContext context) {
   
    return Scaffold(

...

body: ...

///Following are where the quotes are stacked. But they take  turns to show their opacity.

Stack(children: <Widget>[
              
                AnimatedOpacity(
                    opacity: opacity1,duration: Duration(seconds: 1),child:Text(quoteCat1),AnimatedOpacity(
                    opacity: opacity2,child: Text(quoteCat2),AnimatedOpacity(
                    opacity: opacity3,child: Text(quoteCat3),]),...

///Following are the buttons to trigger the respective quotes' opacity

ElevatedButton(

...
onpressed: () {
                      generatequoteCat1();
                      opacity1 = 1.0;
                      opacity2 = 0.0;
                      opacity3 = 0.0;
                    },),ElevatedButton(

...
onpressed: () {
                      generatequoteCat2();
                      opacity2 = 1.0;
                      opacity1 = 0.0;
                      opacity3 = 0.0;
                    },ElevatedButton(

...
onpressed: () {
                      generatequoteCat3();
                      opacity3 = 1.0;
                      opacity1 = 0.0;
                      opacity2 = 0.0;
                    },...


版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。