按下按钮时的动画文本转换

2023-12-11

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

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

如何才能做到这一点?谢谢

我认为这与按钮有关。例如。当按下猫 1 的按钮时,猫 1 的引用的不透明度将变为零,然后返回到 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,
                    duration: Duration(seconds: 1),
                    child: Text(quoteCat2),
                  
                AnimatedOpacity(
                    opacity: opacity3,
                    duration: Duration(seconds: 1),
                    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;
                    },),
...



None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按下按钮时的动画文本转换 的相关文章