見出し画像

【Flutter】Widgetをスワイプできるようにする(flutter_slidable)

flutter_slidable』パッケージを使用して、スワイプ可能なWidgetを作成するときのコードを紹介したいと思います。

このパッケージを使うとき(Slidableウィジェット)のコードを以下に載せておきます。
細かい説明はコメントアウトに記載してあるのでそれも併せてご覧ください。

このパッケージの使い方はYouTubeライブで解説したものなので、もっと詳しく知りたい方はYouTubeに公開しているアーカイブからご確認ください。

Scaffold(
  appBar: AppBar(
    centerTitle: true,
    title: Text(widget.title),
  ),
  body: Slidable(
      // dismissibleを使う場合は必須
      key: const ValueKey(0),
      // 左から出てくる
      startActionPane: ActionPane(
        // ActionPaneの出現アニメーション(必須)
        motion: const DrawerMotion(),
        // 最後までスワイプしたときにこのSlidableを消す(keyが必須)
        dismissible: DismissiblePane(onDismissed: () {}),
        // 出てくるWidgetを指定(必須)
        children: [
          SlidableAction(
            onPressed: (context) {},
            backgroundColor: const Color(0xFFFE4A49),
            foregroundColor: Colors.white,
            icon: Icons.delete,
            label: 'Delete',
          ),
        ],
      ),
      // 右から出てくる
      endActionPane: ActionPane(
        motion: const DrawerMotion(),
        children: [
          SlidableAction(
            autoClose: false,
            onPressed: (context) {},
            backgroundColor: const Color(0xFF21B7CA),
            foregroundColor: Colors.white,
            icon: Icons.push_pin,
            label: 'Pin',
          ),
        ],
      ),
      child: const ListTile(
        title: Text('リスト'),
      )
  )
);


この記事が気に入ったらサポートをしてみませんか?