我正在尝试弄清楚如何将文本放在自定义卡片组件的左下角,并将文本放在左上角作为标题
下面是我想要实现的一个例子:
现在我有一个自定义的Card组件,如下所示:
Widget build(BuildContext context) {
return GestureDetector(
onTap: onPress,
child: Container(
child: cardChild,
padding: EdgeInsets.fromLTRB(10, 8, 10, 8),
margin: EdgeInsets.fromLTRB(10, 8, 10, 8),
decoration: BoxDecoration(
color: colour,
borderRadius: BorderRadius.circular(10.0),
),
),
);
}
然后我使用这个卡片组件,如下所示:
return CustomCard(
colour: Color(0xFF303030),
cardChild: Column(
// mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
"Top Text",
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 28)
),
Text(
"Bottom Text",
style: TextStyle(fontSize: 18)
)
],
),
);
我想我可以做的是为左下角的文本设置一个容器,它让我接近了结果,但我认为我做得不是很正确。
发布于 2021-03-19 04:41:32
您应该在两个Text
小部件之间添加一个Expanded(child: SizedBox())
小部件
return CustomCard(
colour: Color(0xFF303030),
cardChild: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text("Top Text", style: TextStyle(fontWeight: FontWeight.bold, fontSize: 28)),
Expanded(child: SizedBox()),
Text("Bottom Text", style: TextStyle(fontSize: 18))
],
),
);
如果您愿意,可以添加一个包装Column
的Padding
小部件,以向Card
小部件添加内部填充。
发布于 2021-03-19 04:59:23
您需要做的就是将mainAxisAlignment: MainAxisAlignment.spaceBetween
添加到Column
中
https://www.dartpad.dev/fb357b9308db33ce11074a9c5f7aa41e?null_safety=true
https://stackoverflow.com/questions/66698699
复制相似问题