Flutter 卡片和容器设计

Posted

技术标签:

【中文标题】Flutter 卡片和容器设计【英文标题】:Flutter Card and Container design 【发布时间】:2021-09-13 11:41:26 【问题描述】:

我想实现这个:

但我最终得到了这个(忽略颜色):

如何塑造彩色边框边的边框,我一直收到这个奇怪的错误(或者至少我从来没有遇到过),我塑造了 topLeft 和 bottomLeft 边框并弹出A borderRadius can only be given for a uniform Border.我在做什么这里错了吗?我在Card 小部件中放置了一个Container,我尝试了相反的方法,但不是我预期的结果。我现在有了我需要的东西,我只需要围绕容器的左上角和左下角(或者其他东西)来实现第一张蓝色图片的目标。

代码如下:

Container(
                      height: 98.0,
                      width: double.infinity,
                      child: Card(
                        elevation: 4,
                        shape: RoundedRectangleBorder(
                          borderRadius: BorderRadius.circular(4.0),
                        ),
                        shadowColor: Color.fromRGBO(0, 0, 0, 0.6),
                        child: Container(
                          decoration: BoxDecoration(
                            borderRadius: BorderRadius.circular(10), //this is causing the error, when I remove it, I get the card like on picture 2 with the red line
                            border: Border(
                              left: BorderSide(
                                  color: Colors.red,
                                  width: 3.0,
                                  style: BorderStyle.solid),
                            ),
                          ),
                          child: Row(
                           // some content here
                            ],
                          ),
                        ),
                      ),
                    ),

提前感谢您的帮助!

【问题讨论】:

【参考方案1】:

请试试这个

Padding(
        padding: const EdgeInsets.all(8.0),
        child: Card(
          color: Colors.green,
          elevation: 16,
          shape: RoundedRectangleBorder(
            borderRadius: BorderRadius.circular(10),
          ),
          child: Wrap(
            children: [
              Container(
                width: MediaQuery.of(context).size.width,
                decoration: BoxDecoration(
                    color: Colors.white,
                    borderRadius: BorderRadius.only(
                        bottomRight: Radius.circular(10),
                        topRight: Radius.circular(10))),
                margin: EdgeInsets.only(left: 10),
                padding: EdgeInsets.symmetric(horizontal: 16, vertical: 10),
                child: Column(
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: [
                    Text(
                      "Dr. Alok Verma",
                      style: TextStyle(fontSize: 24),
                    ),
                    SizedBox(
                      height: 10,
                    ),
                    Row(
                      mainAxisAlignment: MainAxisAlignment.spaceBetween,
                      children: [
                        Expanded(
                            child: Text("Date: 14-06-2021",
                                style: TextStyle(fontSize: 24))),
                        Expanded(
                            child: FlatButton(
                                onPressed: () ,
                                child: Container(
                                    decoration: BoxDecoration(
                                        color: Colors.green,
                                        borderRadius: BorderRadius.circular(5)),
                                    padding: EdgeInsets.all(8),
                                    child: Text("Completed",
                                        style: TextStyle(fontSize: 24)))))
                      ],
                    ),
                    Text("Time: 10:20", style: TextStyle(fontSize: 24)),
                    SizedBox(
                      height: 20,
                    ),
                    Text("Aastha Hospital",
                        style: TextStyle(
                            fontSize: 24, fontWeight: FontWeight.bold)),
                    Text("Some address", style: TextStyle(fontSize: 18)),
                  ],
                ),
              )
            ],
          ),
        ),
      )

图片:

【讨论】:

以上是关于Flutter 卡片和容器设计的主要内容,如果未能解决你的问题,请参考以下文章

Flutter控件——布局控件:卡片

Flutter控件——布局控件:卡片

在 Flutter Listview 中选择卡片

Flutter:需要帮助来实现带有图像的卡片

flutter : 如何在颤动中制作卡片

Flutter如何处理框内固定大小的图像?