一尘不染

滑动列表项以获取更多选项(颤振)

flutter

几天前,我决定从Pinterest的应用程序中选择Ui,以练习使用Flutter构建应用程序,但我对Slider感到困惑,它
在水平拖动上显示了“更多” 和“删除”按钮。图片在右边。

我没有足够的知识来结合使用“手势”和“动画”来快速创建类似的内容。因此,我希望你们中的每个人都能为像我这样的每个人做一个榜样,使我们能够理解如何在ListView.builder中实现这样的事情。


阅读 307

收藏
2020-08-13

共1个答案

一尘不染

我创建了一个用于执行这种布局的程序包:flutter_slidable(感谢RémiRousselet的基本想法)

使用此软件包,可以更轻松地为列表项创建上下文操作。例如,如果要创建描述的动画类型:

抽屉(iOS)动画

您将使用以下代码:

new Slidable(
  delegate: new SlidableDrawerDelegate(),
  actionExtentRatio: 0.25,
  child: new Container(
    color: Colors.white,
    child: new ListTile(
      leading: new CircleAvatar(
        backgroundColor: Colors.indigoAccent,
        child: new Text('$3'),
        foregroundColor: Colors.white,
      ),
      title: new Text('Tile n°$3'),
      subtitle: new Text('SlidableDrawerDelegate'),
    ),
  ),
  actions: <Widget>[
    new IconSlideAction(
      caption: 'Archive',
      color: Colors.blue,
      icon: Icons.archive,
      onTap: () => _showSnackBar('Archive'),
    ),
    new IconSlideAction(
      caption: 'Share',
      color: Colors.indigo,
      icon: Icons.share,
      onTap: () => _showSnackBar('Share'),
    ),
  ],
  secondaryActions: <Widget>[
    new IconSlideAction(
      caption: 'More',
      color: Colors.black45,
      icon: Icons.more_horiz,
      onTap: () => _showSnackBar('More'),
    ),
    new IconSlideAction(
      caption: 'Delete',
      color: Colors.red,
      icon: Icons.delete,
      onTap: () => _showSnackBar('Delete'),
    ),
  ],
);
2020-08-13