Я пытался составить список чипов, которые пользователь может переупорядочить, выполняя жест перетаскивания. Вот пример кода, который вы можете выполнить, чтобы увидеть проблему. Как уже говорилось, класс Chip нуждается в предке Material, так чторешение этого?Придется постоянно держать Чип обернутым в Карточку?
Ошибка:
Было выброшено следующее утверждение: Чип (грязный): Виджет материала не найден.Для виджетов чипа требуется предок виджета «Материал».
Код:
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Wrap(
direction: Axis.horizontal,
children: List.generate(_counter, (i) {
var chip = Chip(
backgroundColor: Colors.blue,
label: Text('item ${i}'),
);
return Draggable(
child: chip,
feedback: chip,
childWhenDragging: Container(),
);
}),
),
),
floatingActionButton: FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: Icon(Icons.add),
), // This trailing comma makes auto-formatting nicer for build methods.
);
}
Примечание. Я изменил шаблон подсчета кликов по умолчанию, чтобы продемонстрировать свою проблему