Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 设置动画时,AnimatedContainer获取渲染错误';s高度,因为它在增加高度时包含图标_Flutter_Dart_Flutter Layout - Fatal编程技术网

Flutter 设置动画时,AnimatedContainer获取渲染错误';s高度,因为它在增加高度时包含图标

Flutter 设置动画时,AnimatedContainer获取渲染错误';s高度,因为它在增加高度时包含图标,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,长按时,容器需要增加其高度并显示图标。 但当增大大小时,当长按图标值时,会出现渲染错误。如何解决这个问题 GestureDetector( onLongPress: () { setState(() { widget.heightoo = widget.heightoo == 100 ? 150 : 100; widget.booly = widget.booly == true ? false : true;

长按时,容器需要增加其高度并显示图标。 但当增大大小时,当长按图标值时,会出现渲染错误。如何解决这个问题

GestureDetector(
      onLongPress: () {
        setState(() {
          widget.heightoo = widget.heightoo == 100 ? 150 : 100;
          widget.booly = widget.booly == true ? false : true;
        });
      },
      child: AnimatedContainer(
        duration: new Duration(milliseconds: 500),
        height: widget.heightoo,
        padding: EdgeInsets.symmetric(horizontal: 20, vertical: 10),
        child: Card(
          elevation: 4,
          shape:
              RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)),
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Container(
                child: Row(
                  children: <Widget>[
                    SizedBox(
                      width: 20,
                    ),
                    Container(
                      height: 50,
                      width: 50,
                      decoration: BoxDecoration(
                        borderRadius: BorderRadius.circular(14),
                        color: Colors.lightBlueAccent,
                      ),
                      child: ClipRRect(
                          borderRadius: BorderRadius.circular(14),
                          child: Icon(Icons.person)),
                    ),
                    SizedBox(
                      width: 20,
                    ),
                    Column(
                      mainAxisAlignment: MainAxisAlignment.center,
                      crossAxisAlignment: CrossAxisAlignment.start,
                      children: <Widget>[
                        Container(
                          width: 145,
                          child: Text(
                            widget.tasks1,
                            maxLines: 2,
                            softWrap: true,
                            overflow: TextOverflow.fade,
                            style: TextStyle(
                                fontFamily: 'Poppins',
                                fontWeight: FontWeight.w600,
                                fontSize: 12,
                                color: platformblue),
                          ),
                        ),
                        Container(
                          width: 145,
                          child: Text(
                            widget.tasks3 + ' ' + widget.tasks4,
                          ),
                        ),
                      ],
                    ),
                    SizedBox(
                      width: 20,
                    ),
                    Icon(
                        !widget.booly
                            ? widget.task2 ? Icons.live_tv : Icons.location_on
                            : null,
                        size: 40,
                        color: Color(0xFF2143af)),
                  ],
                ),
              ),
              Container(
                  child: widget.booly
                      ? Padding(
                          padding: const EdgeInsets.only(top: 15),
                          child: Row(
                            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                            children: <Widget>[
                              Icon(
                                Icons.edit,
                                color: Color(0xFF2143af),
                              ),
                              Container(
                                color: Colors.white,
                                height: 30,
                                width: 1,
                                child: VerticalDivider(
                                  color: Colors.black,
                                ),
                              ),
                              GestureDetector(
                                  onTap: () {
                                    print(widget.tasks1);
                                  },
                                  child: Icon(Icons.location_on,
                                      color: Color(0xFF2143af))),
                            ],
                          ),
                        )
                      : null)
            ],
          ),
        ),
      ),
    );
手势检测器(
onLongPress:(){
设置状态(){
widget.heightoo=widget.heightoo==100?150:100;
widget.booly=widget.booly==true?false:true;
});
},
子:动画容器(
持续时间:新的持续时间(毫秒:500),
高度:widget.heightoo,
填充:边缘组。对称(水平:20,垂直:10),
孩子:卡片(
标高:4,
形状:
RoundedRectangleBorder(borderRadius:borderRadius.circular(20)),
子:列(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
容器(
孩子:排(
儿童:[
大小盒子(
宽度:20,
),
容器(
身高:50,
宽度:50,
装饰:盒子装饰(
边界半径:边界半径。圆形(14),
颜色:Colors.lightBlueAccent,
),
孩子:ClipRRect(
边界半径:边界半径。圆形(14),
子:图标(Icons.person)),
),
大小盒子(
宽度:20,
),
纵队(
mainAxisAlignment:mainAxisAlignment.center,
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
容器(
宽度:145,
子:文本(
widget.tasks1,
maxLines:2,
软包装:是的,
溢出:TextOverflow.fade,
样式:TextStyle(
fontFamily:“罂粟花”,
fontWeight:fontWeight.w600,
尺寸:12,
颜色:平台蓝),
),
),
容器(
宽度:145,
子:文本(
widget.tasks3+“”+widget.tasks4,
),
),
],
),
大小盒子(
宽度:20,
),
图标(
!布利
?widget.task2?Icons.live\u电视:Icons.location\u打开
:null,
尺码:40,
颜色:颜色(0xFF2143af)),
],
),
),
容器(
孩子:widget.booly
?填充物(
填充:仅限常量边集(顶部:15),
孩子:排(
mainAxisAlignment:mainAxisAlignment.space,
儿童:[
图标(
图标。编辑,
颜色:颜色(0xFF2143af),
),
容器(
颜色:颜色,白色,
身高:30,
宽度:1,
儿童:垂直分隔器(
颜色:颜色,黑色,
),
),
手势检测器(
onTap:(){
打印(widget.tasks1);
},
子:图标(Icons.location_on,
颜色:颜色(0xFF2143af)),
],
),
)
:null)
],
),
),
),
);

有没有其他最好的方法以同样的方式设置容器的动画

我添加了随机词,因为StackOverflow说帖子主要是代码。添加更多细节 IBICSCNLSCCNLJSNCLDNSCCJCNLSDCCKLSCK csdbicinscj bcnnj ucubdcnuaxn BCCUIASNSCH