flutter - 如何在 Flutter 中根据子 Text 小部件包装 Row
问题描述
我在 SafeArea 的脚手架内有这段代码:
Column(
children: [Flexible(
fit: FlexFit.loose,
child: Container(
// width: 130,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [Icon(Icons.ac_unit), Text("Trending")],
),
padding: EdgeInsets.all(10),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20),
color: Colors.grey[300]),
),
)]
)
如何使行在文本周围扭曲。
解决方案
从文档
Wrap(
spacing: 8.0, // gap between adjacent chips
runSpacing: 4.0, // gap between lines
children: <Widget>[
Chip(
avatar: CircleAvatar(backgroundColor: Colors.blue.shade900, child: Text('AH')),
label: Text('Hamilton'),
),
Chip(
avatar: CircleAvatar(backgroundColor: Colors.blue.shade900, child: Text('ML')),
label: Text('Lafayette'),
),
Chip(
avatar: CircleAvatar(backgroundColor: Colors.blue.shade900, child: Text('HM')),
label: Text('Mulligan'),
),
Chip(
avatar: CircleAvatar(backgroundColor: Colors.blue.shade900, child: Text('JL')),
label: Text('Laurens'),
),
],
)
如果您想使用该行,只需执行
Row(
mainAxisSize: MainAxisSize.min
children: [
...
])
用上面的行替换那个 Chip()
编辑:Chip()
用类似这样
的自定义小部件替换_buildChip()
,它应该可以让您更好地控制小部件
import 'package:flutter/material.dart';
main() {
runApp(MaterialApp(
home: MyPage(),
));
}
class MyPage extends StatelessWidget {
Widget _buildChip() {
return Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20), color: Colors.grey.withOpacity(.4) ),
child: InkWell(
highlightColor: Colors.blue.withOpacity(.4),
splashColor: Colors.green,
borderRadius: BorderRadius.circular(20),
onTap: () {
},
child: Container(
padding: EdgeInsets.symmetric(horizontal: 15, vertical: 7),
child: Row(
mainAxisSize: MainAxisSize.min,
children:[
Icon(Icons.ac_unit, size: 14),
SizedBox(width: 10),
Text("Trending")
]),
),
),
);
}
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: Wrap(
spacing: 8.0, // gap between adjacent chips
runSpacing: 4.0, // gap between lines
children: <Widget>[
_buildChip(),
_buildChip(),
_buildChip(),
_buildChip(),
_buildChip(),
],
)
);
}
}
让我知道这是否是您想要的,以便我编辑该答案
推荐阅读
- python - unreal.EditorStaticMeshLibrary 中没有 get_lod_build_settings()。(UE4 Python)
- qt - Qt 样式表不适用于树莓派中的第一个选项卡 QTabBar
- android - 无法使用 Fragment 启动活动 compenetInfo
- php - 如何更改 WordPress 文章网格中的阅读更多文本
- asp.net-mvc - Azure Function App 不属于逻辑应用设计器
- r - 带有闪亮的朴素贝叶斯
- java - 在 java swing 面板中放置按钮的布局
- html - How to create grid inside a bootstrap 3 modal
- javascript - 如何使用 Perfume.js 测量小部件/组件的性能
- ruby-on-rails - 在浏览器中输出 URL / 视图 - 来自 Rails .html.erb