Flutter展开Container以填充Row的剩余空间
我连续有一个图像,并且在该图像旁边有一个文本。我希望该行完全展开,并且图像以其大小显示,然后保持完整区域应由Container拍摄。
这是我的代码段:
Row( children: <Widget>[
Container(
margin: EdgeInsets.fromLTRB(10, 50, 10, 8),
decoration: BoxDecoration(
color: Colors.white,
boxShadow: [
BoxShadow(
color: Color.fromARGB(100, 0, 0, 0),
blurRadius: 5,
),
],
),
child: Row(
mainAxisSize: MainAxisSize.max,
children: <Widget>[
Column(children: <Widget>[
Image.asset(
'assets/card.png',
height: 62,
width: 62,
fit: BoxFit.cover,
)
]),
Container(
child: Text("Hello world"),
)
],
),
),
],
),
我想要这样: Flutter UI
回答:
我建议您仅开始构建布局,Row
而Column
不要感到困惑。我经常按如下方式构建布局。
- 仅使用
Row
和布局对象(例如,文本,图像)Column
。并在和中设置mainAxisAlignment
和crossAxisAlignment
属性。Row``Column
- 设置样式
Padding
或者Align
,Expanded
等你也可以使用Container
。 - 另外装饰。
https://flutter.dev/docs/development/ui/layout
https://medium.com/@liewjuntung/tips-on-using-android-studio-to-develop-
flutter-apps-9e42c047b7f4
希望对您有帮助。
示例代码:
Widget buildCard() { return Container(
margin: EdgeInsets.all(10.0),
decoration: BoxDecoration(
color: Colors.white,
boxShadow: [
BoxShadow(
color: Color.fromARGB(100, 0, 0, 0),
blurRadius: 5,
),
],
),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Image.asset(
'assets/card.png',
height: 62,
width: 62,
fit: BoxFit.cover,
),
Padding(
padding: const EdgeInsets.only(top: 12.0, left: 12.0),
child: Text(
"Hello world",
style: TextStyle(
fontWeight: FontWeight.w500,
letterSpacing: 0.8,
),
),
)
],
),
);
}
以上是 Flutter展开Container以填充Row的剩余空间 的全部内容, 来源链接: utcz.com/qa/435980.html