#flutter #widget #containers #add
#flutter #виджет #контейнеры #Добавить
Вопрос:
Я хочу Raisedbutton, который появляется после контейнера.
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Galeria clase 1'),
),
body: Container(padding: EdgeInsets.all(8), child: galeria(array)),
floatingActionButton: FloatingActionButton(
onPressed: _optionsDialogBox,
tooltip: 'Pick Image',
child: Icon(Icons.add_outlined),
),
);
}enter code here
Я попробовал это, но есть следующая ошибка -> Окно визуализации не было выложено: RenderFlex#02bd4 relayoutBoundary=up1
body: Column(children: <Widget>[
(Container(
padding: EdgeInsets.all(8),
child: galeria(
array,
),
)),
RaisedButton(
child: Text("Guardar red"),
onPressed: () {
safeNeuralNetwork();
},
),
]),
Комментарии:
1. Что
galeria
делать?2. галерея функций
Ответ №1:
Функция галереи
Widget galeria(List<Uint8List> array) {
return StaggeredGridView.countBuilder(
crossAxisCount: 2,
itemCount: array.length,
itemBuilder: (BuildContext context, int index) {
return ClipRRect(
borderRadius: BorderRadius.circular(10),
child: Container(
color: Colors.deepPurple,
child: Column(
children: <Widget>[Image.memory(array[index])],
),
),
);
},
// staggeredTileBuilder: (int index) => new StaggeredTile.fit(1),
staggeredTileBuilder: (int index) => new StaggeredTile.fit(1),
mainAxisSpacing: 10.0,
crossAxisSpacing: 10.0,
);
}
Ответ №2:
Виджет StaggeredGridView (или почти любой ScrollView) не может работать с неограниченной (бесконечной) высотой, как в вашем случае. У вас не может быть виджета столбца и ScrollView внутри него без использования Expanded или чего-то подобного. Почему? Потому что вам нужно что-то, чтобы ограничить максимальную высоту этого виджета. В этом случае мы будем использовать расширенный виджет. Так что идите и измените свой код следующим образом:
body: Column(
children: <Widget>[
Expanded(
child: Padding(
child: galeria(array),
padding: EdgeInsets.all(8.0),
),
),
RaisedButton(
onPressed: () {
safeNeuralNetwork();
},
child: Text("Guardar red"),
),
],
),
При этом мы в основном сказали: «Эй, иди и отобрази этот столбец, но, пожалуйста, вставьте RaisedButton внизу и используйте оставшееся пространство для StaggeredGridView»..