Android studio 如何在容器内使用膨胀砖?

Android studio 如何在容器内使用膨胀砖?,android-studio,flutter,dart,flutter-layout,flutter-widget,Android Studio,Flutter,Dart,Flutter Layout,Flutter Widget,这是一套扩展磁贴。在这里,我想扭曲容器内的扩展瓷砖,这样我就可以给瓷砖添加边框、形状和阴影。阿尔索 我想要像这样的扩展结果。我怎样才能做到这一点。请帮帮我 我试过下面的模式。但当我展开时,我得到了渲染溢出错误 Container( height: 80, width: MediaQuery.of(context).size.width - 10, decorat

这是一套扩展磁贴。在这里,我想扭曲容器内的扩展瓷砖,这样我就可以给瓷砖添加边框、形状和阴影。阿尔索 我想要像这样的扩展结果。我怎样才能做到这一点。请帮帮我

我试过下面的模式。但当我展开时,我得到了渲染溢出错误

              Container(
                  height: 80,
                  width: MediaQuery.of(context).size.width - 10,
                  decoration: BoxDecoration(
                    borderRadius: BorderRadius.all(Radius.circular(10.0)),
                    color: Colors.white,
                    boxShadow: [
                      BoxShadow(
                          color: Theme.of(context).hintColor.withOpacity(0.2),
                          spreadRadius: 2,
                          blurRadius: 5)
                    ],
                  ),
                  child:
                  ExpansionTile(
                    backgroundColor: Colors.white,
                    trailing: Icon(Icons.arrow_forward_ios_rounded),
                    initiallyExpanded: false,
                    title: Text(
                        'Messages',
                        style: Theme.of(context)
                            .textTheme
                            .subtitle),

                    children: List.generate(
                        3, (indexProduct) {
                      return Text("terwyteuwte");
                    }),
                  )
              ),

请帮帮我你可以做以下事情 根据您的使用,在
ListView()
中添加以下小部件

class ItemTile extends StatefulWidget {
//   final OrderItem orderItem;

//   OrderItemTile(this.title);

  @override
  _ItemTileState createState() => _ItemTileState();
}

class _ItemTileState extends State<ItemTile> {
  bool _expanded = false;

  @override
  Widget build(BuildContext context) {
    return AnimatedContainer(
      duration: Duration(milliseconds: 300),
      height: _expanded
          ? 350
          : 100,
      child: Card(
        elevation: 10,
        color: Theme.of(context).canvasColor,
        margin: EdgeInsets.symmetric(horizontal: 20, vertical: 10),
        child: Column(
          children: <Widget>[
            ListTile(
              title: (Text(
                'File',
                style: TextStyle(
                    fontSize: 22, fontWeight: FontWeight.bold),
              )),
              trailing: IconButton(
                  icon: _expanded
                      ? Icon(Icons.expand_less)
                      : Icon(Icons.expand_more),
                  onPressed: () {
                    setState(() {
                      _expanded = !_expanded;
                    });
                  }),
            ),
            AnimatedContainer(
              duration: Duration(milliseconds: 300),
              height: _expanded
                  ? 300
                  : 0,
              width: MediaQuery.of(context).size.width,
              child: ItemExpandedTile(),
            )
          ],
        ),
      ),
    );
  }
}
class ItemTile扩展了StatefulWidget{
//最终订单项目订单项目;
//OrderItemTile(此.title);
@凌驾
_ItemTileState createState()=>\u ItemTileState();
}
类_ItemTileState扩展状态{
bool _expanded=false;
@凌驾
小部件构建(构建上下文){
返回动画容器(
持续时间:持续时间(毫秒:300),
高度:_展开
? 350
: 100,
孩子:卡片(
标高:10,
颜色:主题。背景。画布颜色,
边缘:边缘组。对称(水平:20,垂直:10),
子:列(
儿童:[
列表砖(
标题:(正文)(
“文件”,
样式:TextStyle(
fontSize:22,fontWeight:fontWeight.bold),
)),
尾随:图标按钮(
图标:\u已展开
?图标(图标。无需展开)
:图标(图标。展开更多),
已按下:(){
设置状态(){
_扩展=!\u扩展;
});
}),
),
动画容器(
持续时间:持续时间(毫秒:300),
高度:_展开
? 300
: 0,
宽度:MediaQuery.of(context).size.width,
子项:ItemExpandedFile(),
)
],
),
),
);
}
}
展开后显示的小部件

class ItemExpandedTile extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12),
      child: Stack(
        children: <Widget>[
          Positioned(
            top: 5,
            child: Container(
              height: 90,
              width: MediaQuery.of(context).size.width - 75,
              padding: EdgeInsets.all(10),
              decoration: new BoxDecoration(
                color: Theme.of(context).canvasColor,
                borderRadius: BorderRadius.circular(15),
                boxShadow: [
                  BoxShadow(
                    color: Colors.grey,
                    blurRadius: 15.0,
                    spreadRadius: 0.5,
                    offset: Offset(
                      1.0,
                      1.0,
                    ),
                  )
                ],
              ),
              child: Row(
                children: <Widget>[
                  Column(
                    crossAxisAlignment: CrossAxisAlignment.start,
                    mainAxisAlignment: MainAxisAlignment.spaceAround,
                    children: <Widget>[
                      Text(
                        'Title',
                        style: TextStyle(
                            fontSize: 12, fontWeight: FontWeight.bold),
                      ),
                    ],
                  ),
                ],
              ),
            ),
          ),
        ],
      ),
    );
  }
}
class ItemExpandedFile扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回填充(
填充:常量边集。对称(水平:16,垂直:12),
子:堆栈(
儿童:[
定位(
前五名,
子:容器(
身高:90,
宽度:MediaQuery.of(context).size.width-75,
填充:边缘设置。全部(10),
装饰:新盒子装饰(
颜色:主题。背景。画布颜色,
边界半径:边界半径。圆形(15),
boxShadow:[
箱形阴影(
颜色:颜色。灰色,
半径:15.0,
扩展半径:0.5,
偏移量:偏移量(
1.0,
1.0,
),
)
],
),
孩子:排(
儿童:[
纵队(
crossAxisAlignment:crossAxisAlignment.start,
mainAxisAlignment:mainAxisAlignment.spaceAround,
儿童:[
正文(
“头衔”,
样式:TextStyle(
fontSize:12,fontWeight:fontWeight.bold),
),
],
),
],
),
),
),
],
),
);
}
}
结果:

SingleChildScrollView(child:Container(…)
@pskink thanku…它不会动态更改容器的大小…怎么可能呢?是的,它会更改容器的大小