我想使用DART语言创建一个与下图完全相同的水平列表视图。
第一项总是一个+图标。获取图像后,它将移动到第二个项目,依此类推。
添加图像之前
添加图像后
这是我试过的
@override
Widget build(BuildContext context) {
Widget initialWidget = _buildRow();
List<Widget> listWidgets = [initialWidget];
return BaseBlocScaffoldWidget(
baseBloc: _bloc,
appBar: AppBar(
title: Text('My App'),
actions: <Widget>[
IconButton(
icon: Icon(Icons.done),
onPressed: () => _bloc.submitSink.add(true),
)
],
),
body: SingleChildScrollView(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
width: 100.0,
color: const Color(0xFF00FF00),
padding: EdgeInsets.only(top: 15),
height: 100.0,
child: StreamBuilder<File>(
stream: _bloc.uploadImageStream,
builder: (context, snapshot) {
if (snapshot.hasData) {
var a = snapshot.data;
dtLst.add(a);
if (dtLst.length > 0) {
return ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: dtLst.length,
itemBuilder: (context, index) {
return Image.file(dtLst[index]);
// listWidgets.insert(0, _buildRow())
// return listWidgets[index];
});
}
} else {
return IconButton(
icon: Center(
child: Icon(
Icons.camera,
size: 30.0,
),
),
onPressed: () {
_bloc.getImage();
},
);
}
},
))
])));
}
Widget _buildRow() {
return IconButton(
icon: Center(
child: Icon(
Icons.camera,
size: 30.0,
),
),
onPressed: () {
_bloc.getImage();
},
);
}
我的输出
以前
后
有人能帮忙吗?
感谢上帝保佑。
最佳答案
你所能做的就是通过在你的图标上添加一个属性来将小部件拉伸到最大,
Icon(
Icons.camera,
size: double.infinity,),
这对你有用。
关于listview - 在listView dart中添加动态图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57702901/