如何根据卡中的文本动态扩展CARD小部件的高度大小?

时间:2020-04-30 17:14:20

标签: android-layout flutter dart flutter-layout flutter-widget

因此,如果我在小部件卡片中放入很多文本,则该文本将超出卡片小部件,其余部分将再也看不到。

仅当我手动设置每张卡的大小时,它才会显示所有文本。

是否可以根据卡片中的文本动态扩展CARD小部件的高度大小?

例如,无论我在卡中放了多少文字,卡的高度都会扩展以显示其中的所有文字。

代码:

    Widget _card(
      {Color primary = Colors.redAccent,
      String imgPath,
      String chipText1 = '',
      String chipText2 = '',
      Widget backWidget,
      Color chipColor = LightColor.orange,
      bool isPrimaryCard = false}) {
    return Container(          
        height: isPrimaryCard ? 500 : 500,
        width: isPrimaryCard ? width * .90 : width * .90,
        margin: EdgeInsets.symmetric(horizontal: 10, vertical: 20),
        decoration: BoxDecoration(
            color: primary.withAlpha(200),
            borderRadius: BorderRadius.all(Radius.circular(20)),
            boxShadow: <BoxShadow>[
              BoxShadow(
                  offset: Offset(0, 5),
                  blurRadius:
                      10, 
                  color: LightColor.lightpurple.withAlpha(20))
            ]),
        child: ClipRRect(
          borderRadius: BorderRadius.all(Radius.circular(20)),
          child: Container(
            child: Stack(
              children: <Widget>[
                backWidget,
                Positioned(                      
                    top: 20,
                    left: 10,
                    child: CircleAvatar(                         
                      backgroundColor: Colors.transparent,
                      backgroundImage: NetworkImage(imgPath),
                    )),
                Positioned(                      
                  top: 30,
                  left: 20,
                  child: _cardInfo(chipText1, chipText2,
                      LightColor.titleTextColor, chipColor,
                      isPrimaryCard: isPrimaryCard),
                )
              ],
            ),
          ),
        ));
  }

1 个答案:

答案 0 :(得分:0)

您可能要使用ConstrainedBox。它允许您设置最小高度,但是可以根据需要扩展:

Card(
  child: ConstrainedBox(
    constraints: BoxConstraints(
      minHeight: 100,
    ),
    child: Text("")
  )
)