いちの
こんばんは〜
弊社ブログに辿り着いていただきありがとうございます!
株式会社メモリアインクのいちのです
この記事を読んでわかること
flutter_slidable
パッケージの基本的な使い方- リストアイテムをスワイプして削除する具体的な実装方法
pubspec.yaml
にパッケージを追加する手順- スライドアクションのカスタマイズ方法
開発環境
- Dart 3.0.0
- Flutter 3.10.0
- flutter_slidable 3.0.1
目次
1.スライドアップパネル使用の事前準備
flutter_slidableパッケージの導入
まず、flutter_slidable
パッケージをプロジェクトに導入します。pubspec.yaml
ファイルを開き、以下の行をdependencies
セクションに追加してください。
dependencies:
flutter:
sdk: flutter
flutter_slidable: ^3.0.1
追加後、ターミナルまたはコマンドプロンプトでflutter pub get
を実行し、パッケージをプロジェクトにインストールします。
2.スライドアップパネルを使用しリストアイテムを削除
概要
flutter_slidable
を使用して、スライドアップパネルを持つリストアイテムを作成する基本的な方法を見ていきましょう。主な構成要素はSlidable
ウィジェットです。このウィジェットをリストの各アイテムに適用することで、スライド時のアクションパネルを定義できます。- リストからアイテムを削除するには、
SlidableAction
のonPressed
コールバック内でリストから該当アイテムを削除するロジックを実装します。以下のサンプルコードでは、削除ボタンをタップした時にリストからアイテムを削除する方法を示しています。
サンプルコード
import 'package:flutter/material.dart';
import 'package:flutter_slidable/flutter_slidable.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('スライドアクションリストデモ'),
),
body: SlidableListItem(),
),
);
}
}
class SlidableListItem extends StatefulWidget {
@override
_SlidableListItemState createState() => _SlidableListItemState();
}
class _SlidableListItemState extends State<SlidableListItem> {
List<String> items = List.generate(10, (index) => 'アイテム #$index');
@override
Widget build(BuildContext context) {
return ListView.builder(
itemCount: items.length,
itemBuilder: (context, index) {
return Slidable(
key: ValueKey(items[index]),
startActionPane: ActionPane(
motion: const DrawerMotion(),
children: [
SlidableAction(
onPressed: (context) {
setState(() {
items.removeAt(index);
});
},
backgroundColor: Color(0xFFFE4A49),
foregroundColor: Colors.white,
icon: Icons.delete,
label: '削除',
),
],
),
endActionPane: ActionPane(
motion: const DrawerMotion(),
children: [
// ここに他のアクションを追加できます。
],
),
child: ListTile(
title: Text(items[index]),
subtitle: Text('サブタイトル'),
),
);
},
);
}
}
サンプルコードの解説
- 8-20行目:
MyApp
クラスはアプリケーションのルートウィジェットを定義しており、MaterialApp
ウィジェットを使用しています。 - 22-25行目:
SlidableListItem
ウィジェットは、スライダブルなリストアイテムを表示するためのウィジェットです。このクラスはStatefulWidget
であり、リストアイテムの状態を管理します。 - 32-65行目:
ListView.builder
を使用してリストアイテムを動的に生成しています。各アイテムにはSlidable
ウィジェットが適用されており、スワイプすると削除のオプションが表示されます。 - 40-50行目:
SlidableAction
ウィジェットで削除ボタンを定義し、onPressed
コールバックでアイテムをリストから削除する処理を実行しています。 - 59-62行目:
ListTile
ウィジェットを使用して、リストアイテムの見た目を定義しています。
動作確認
それでは、動作を確認してみましょ〜
実践的なリストの使い方についてご興味のある読者様。以下の記事で分かりやすく丁寧に解説しておりますので、ぜひご一読いただけますと幸いです。
【Flutter】リスト(List)の完全ガイド!要素の追加(add)・要素の削除(remove)から動的リスト(ListView)…
こんばんは〜弊社ブログに辿り着いていただきありがとうございます!株式会社メモリアインクのいちのです この記事でわかること リスト(List)に要素を追加する方法 リ…
まとめ
いかがでしたでしょうか?今回は、スライドアップパネル(flutter_slidable)を実装し、リストの要素を削除する方法について解説してみました。読者様の開発の手助けに少しでもなればいいなと思いこの記事を書かせていただいております。弊社ではAndroid、iOS、Flutterを使ったアプリ開発についてのブログを多数投稿させていただいておりますので、ご興味のある方はぜひ!
自分の成長を加速させるチャンスがどこかにあるかもしれません。
変化を恐れずに新たな環境に飛び込む勇気のある方は、
未経験からIT・Webエンジニアを目指すなら【ユニゾンキャリア】
リスト(ListView)要素の区切り線にご興味ある読者様。以下の記事で分かりやすく丁寧に解説しておりますので、ぜひご一読いただけますと幸いです。
【Flutter】文字列間の区切り線(Divider)を実装しカスタマイズするまでの完全ガイド!
こんばんは〜弊社ブログに辿り着いていただきありがとうございます!株式会社メモリアインクのいちのです この記事を読んでわかること Flutterで文字列間に区切り線を実…
コメント
コメント一覧 (1件)
[…] 【Flutter】スライドアップパネル(flutter_slidable)を実装し、リストの要素を削… […]