0

早上好/下午或晚上。我是一个学习 Flutter 的新手,我想在我的应用程序上使用 OpenContainer 转换,但我不知道如何。这是我在应用程序中的图标按钮代码之一:

        Container(

          margin: EdgeInsets.all(30),
          padding: EdgeInsets.all(10),
          decoration: BoxDecoration(
              borderRadius: BorderRadius.circular(15),
              gradient: LinearGradient(
                  begin: Alignment.topCenter,
                  end: Alignment.bottomCenter,
                  colors: <Color>[Color(0xff61A534), Color(0xff5bd3a4)])),
          child: IconButton(
            icon: Icon(Icons.eco_rounded),
            iconSize: 40.0,
            color: Colors.white,
            onPressed: () {
              Navigator.push(context, Transicao(widget: TelaCatalogo()));
            },
          ),
        ),
        Container(
            margin: const EdgeInsets.only(bottom: 20.0),
            child: Text('Catálogo',
                style: TextStyle(
                    color: Colors.greenAccent.shade200, fontSize: 16.0))),
4

1 回答 1

0

您可以使用动画包。小OpenContainer部件提供现成的动画。

您只需要用它包装您的卡片/按钮,并提供一个closedBuilder(构建按钮并openContainer在按下时调用)和一个openBuilder(构建TelaCatalogo页面)。

      OpenContainer(
        transitionType: _transitionType,
        openBuilder: (BuildContext context, VoidCallback _) {
          return MyPage();
        },
        closedBuilder: (BuildContext context, VoidCallback openContainer) {
          return MyCard(onPressed: openContainer);
        },
      ),
于 2021-08-30T20:34:17.787 回答