よくある画像のピンチイン・ピンチアウトはInteractiveViewer
を使用して実装することができます。
ただし、InteractiveViewerだけだと2枚目のスクリーンショットのように画像サイズが固定されてしまい、その中で拡大してしまいます。
InteractiveViewer(
minScale: 0.1,
maxScale: 3,
child: SizedBox(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height,
child: FittedBox(
child: Image.network("https://picsum.photos/seed/picsum/1500/500"),
),
),
);
そこで、SizeBoxで外側の大きさをMediaQuery.of(context).size
にし、FittedBoxで比率を固定しながらリサイズすることで3枚目のように拡大することができます。
元画像 | SizedBoxなしの場合 | SizedBoxでサイズ指定した場合 |
---|---|---|
![]() |
![]() |
![]() |
色々探してもうまく表示されなかったのでメモ
探したところ