Как сделать ReorderableListView ListTile перетаскиваемым при нажатии кнопки / значка для Flutter? - PullRequest
0 голосов
/ 08 ноября 2018

Итак, я увидел демо ReorderableListView и увидел, что у них есть

"Secondary: Const Icon (Icons.drag_handle)"

, но, глядя на файл reorderable_list.dart , я заметил, что весь список можно перетаскивать в LongPressDraggable в любом случае [строка 424]. Итак, как я могу явно внести изменения либо в исходный код, либо в мой собственный, чтобы правильно сделать иконку фактическим маркером перетаскивания?

CheckboxListTile(
      key: Key(item.value),
      isThreeLine: true,
      value: item.checkState ?? false,
      onChanged: (bool newValue) {
        setState(() {
          item.checkState = newValue;
        });
      },
      title: Text('This item represents ${item.value}.'),
      subtitle: secondary,
      secondary: const Icon(Icons.drag_handle),  // Make this Icon drag source
    );

Спасибо

1 Ответ

0 голосов
/ 13 декабря 2018

Я думаю, что Icon(Icons.drag_handle) - это просто для того, чтобы перетаскивать объект в ReorderableListView, вам нужно долго нажимать на него.

Вы можете использовать flutter_reorderable_list и достичь этого. Как вы можете видеть в демоверсии, этот плагин работает так, как вы хотите.

Однако, он работает совсем не так, как ReorderableListView, изменение кода может быть немного ошеломляющим. Я создал виджет для упрощения этого переключения, виджет здесь , а его демонстрация здесь .

Посмотрите и используйте его, если он подходит к вашему варианту использования.

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