首页 > 解决方案 > Flutter 中的 ListView 中长按和滑动

问题描述

我有一个正在创建ListView. 对于 Android,我想实现“长按键”。对于 iOS,我想要“滑动手势”。

对于长按和滑动,我必须显示 3 个选项:

Delete | Delete All | More...

怎么做。

标签: dartflutterflutter-listview

解决方案


为了给你一个想法,你可以这样做。

@override
Widget build(BuildContext context) {
  bool isIos = Theme.of(context).platform == TargetPlatform.iOS;
  return ListView.builder(
    itemBuilder: (context, index) {
      if (isIos) {
        return Dismissible(
          key: Key("unique_key"),
          child: YourOwnWidget(),
          onDismissed: (direction) {
            // your item is swiped, perform operation here
          },
        );
      }
      return GestureDetector(
        onLongPress: () {
          // you can show an AlertDialog here with 3 options you need
        },
        child: YourOwnWidget(),
      );
    },
  );
}

推荐阅读