見出し画像

flutter画像の複数選択

初めましてblueです。

flutterを使って業務系のスマホアプリを開発しています。
画像の複数選択を実装する必要があったので、今回はそれについて書きます。

余談

画像を1枚だけ選択したい場合は、
image_pickerを使うことで解決できます。

上記のパッケージだと、画像を複数選択する方法について書かれていなかったので、今回はmulti_image_pickerを使用します。

使用するパッケージ

現在はサポートが終わっており、
使用する際は自己責任でお願いします。
調べている感じだと他の方もこのパッケージをよく使われています。

実装コード

List<Asset> images = <Asset>[];

Future<void> loadAssets() async {
   List<Asset> resultList = <Asset>[];
   String error = 'No Error Detected';

   try {
     resultList = await MultiImagePicker.pickImages(
       maxImages: 300,
       enableCamera: true,
       selectedAssets: images,
       cupertinoOptions: CupertinoOptions(takePhotoIcon: "chat"),
       materialOptions: MaterialOptions(
         actionBarColor: "#abcdef",
         actionBarTitle: "Example App",
         allViewTitle: "All Photos",
         useDetailsView: false,
         selectCircleStrokeColor: "#000000",
       ),
     );
   } on Exception catch (e) {
     error = e.toString();
   }

   if (!mounted) return;

   setState(() {
     images = resultList;
    // _error = error;
   });
 }

このメソッドをstatefulwidget内で呼び出すことで、画像の複数選択をすることが出来ます。

参考記事

画像の複数選択について他に情報が無かったので、
いい方法が教えてほしいです!

いいなと思ったら応援しよう!

blue
良かったらサポートしていただけると嬉しいです!