Перетаскивание виджетов Chip - PullRequest
0 голосов
/ 16 апреля 2019

Я пытался составить список чипов, которые пользователь может переупорядочить, выполняя жест перетаскивания. Вот пример кода, который вы можете выполнить, чтобы увидеть проблему. Как уже говорилось, класс 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.
    );
  }

Примечание. Я изменил шаблон подсчета кликов по умолчанию, чтобы продемонстрировать свою проблему

1 Ответ

1 голос
/ 16 апреля 2019

Вы можете обернуть его внутри кнопки FloatingAction.

var chip = FloatingActionButton(
  child: Chip(
    backgroundColor: Colors.blue,
    label: Text('item $i'),
  ),
);

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...