如何将AnimatedContainer设置为全宽?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将AnimatedContainer设置为全宽?相关的知识,希望对你有一定的参考价值。
我正在尝试学习制作动画。当按下按钮时,我有一个在Button和CircularProgress之间交替的代码:
AnimatedContainer(
duration: Duration(milliseconds: 300),
curve: Curves.linear,
width: _isLoading ? 60 : 350,
height: 40.0,
child: Stack(
children: <Widget>[
Align(
alignment: Alignment.center,
child: AnimatedOpacity(
duration: Duration(milliseconds: 290),
curve: Curves.easeIn,
opacity: _isLoading ? 0.0 : 1.0,
child: SizedBox(
width: double.infinity,
child: MyOutlineButton(
label: constant.signIn,
onPressed: (){
_isLoading = true;
setState(() {});
Future.delayed(const Duration(milliseconds: 1000), () {
_isLoading = false;
setState(() {});
});
},
),
)),
),
Align(
alignment: Alignment.center,
child: AnimatedOpacity(
duration: Duration(milliseconds: 290),
curve: Curves.easeOut,
opacity: _isLoading ? 1.0 : 0.0,
child: Center(
child: CircularProgressIndicator(
backgroundColor: constant.colorWhite,
),
),
),
),
],
),
)
我想找到一个更好的解决方案,在显示Button时设置AnimatedContainer的宽度。我想将其设置为全宽,而不用通过随机数来猜测或最大化数字(在代码中,我将其设置为350)。有一个更好的方法吗?谢谢。
答案
您可以使用MediaQuery.of(context).size.width获取设备的宽度。
以上是关于如何将AnimatedContainer设置为全宽?的主要内容,如果未能解决你的问题,请参考以下文章
css Beaver Builder为全宽,从Genesis的首页开始