私たちのチームでは、リリース中となる動画視聴アプリのFlutterでのフルリニューアルの鋭意対応中です。Flutterは、標準のwidgetが豊富に揃えられているのが魅力の一つとなるF/Wですが、それそのままでは複雑な機能要件を全て満足することができないケースがしばしば発生します。
リニューアル対象のアプリでは、動画コンテンツの商品パッケージやシーンのサムネイルといった画像のプレビュー機能があるのですが、それがまさにそうでした。
InteractiveViewerが近しいwidgetになりますが、ピンチ操作による拡大・縮小といった一般的な画像ビューワの操作性はもちろんですが、タップ操作でのオートスケール、フリック操作で画面を閉じる等、特徴的なジェスチャ操作と共存させる上で難しい課題があり、結論としてゼロから実装することになりまして、どうせならpackageとして公開しちゃおうよー
、といった感じで今に至ります。
作業過程でぶつかった課題や、画像ビューワを実装する上での勘所等をお話し、同じような壁にぶつかり、乗り越えようとしてきている皆さんへ共有させていただき、少しでも助力にしていただけたらと思います。