gpt4 book ai didi

Flutter 卡片颜色

转载 作者:IT王子 更新时间:2023-10-29 07:10:50 25 4
gpt4 key购买 nike

我想把这张卡片分成几列(展开的小部件),我面临的问题是:我无法将颜色容器(右列的父级)设置为全高,所以只有一部分显示彩色背景。

我有什么:

enter image description here

我想要什么: enter image description here

  • 我尝试了 Flutter Inspector 工具并注意到 Container 及其子 Column 没有达到全高(即使在输入 mainAxisSize: MainAxisSize.max 之后)

  • 我也尝试使用 FractionSized 而不是使用 Expanded.. 但运气不好。

代码:

    import 'package:flutter/material.dart';

class SubjectPage extends StatelessWidget {
final String dayStr;
SubjectPage(this.dayStr);

@override
Widget build(BuildContext context) {
return Padding(
padding: EdgeInsets.fromLTRB(20.0, 40.0, 20.0, 0),
child: Column(
children: <Widget>[
Card(
child: Row(
children: <Widget>[
// Column 1
Expanded(
flex: 7,
child: Padding(
padding: EdgeInsets.all(20.0),
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
getTitle("UEC607"),
getSubName("Data Communication & Protocol"),
getVenue("E-204"),
],
),
),
),
// Column 2
// The Place where I am Stuck//
Expanded(
flex: 3,
child: Container(
color: Colors.blue,
child: Column(
mainAxisSize: MainAxisSize.max,
children: <Widget>[
getType("L"),
getTime("9:00"),
],
),
),
)
// COlumn 2 End
],
),
)
],
),
);
}

// Get Title Widget
Widget getTitle(String title) {
return Padding(
padding: EdgeInsets.only(bottom: 8.0),
child: Text(title),
);
}

// Get Subject Name
Widget getSubName(String subName) {
return Padding(
padding: EdgeInsets.only(bottom: 25.0),
child: Text(subName),
);
}

// Get Venue Name
Widget getVenue(String venue) {
return Padding(
padding: EdgeInsets.only(bottom: 0.0),
child: Text(venue),
);
}

Widget getType(String type) {
return Padding(
padding: EdgeInsets.only(bottom: 10.0),
child: Text(type),
);
}

Color getColor(String type) {
if (type == "L") {
return Color(0xff74B1E9);
}
}

Widget getTime(String time) {
return Text(time);
}
}

最佳答案

设置容器高度

Expanded(
flex: 3,
child: Container(
height: double.infinity,
color: Colors.blue,
child: Column(
mainAxisSize: MainAxisSize.max,
children: <Widget>[
getType("L"),
getTime("9:00"),
],
),
),
)

关于Flutter 卡片颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57221885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com