AndroidのDialogでデカい画像のプレビュー

AndroidのDialogを使えば良い感じに背景を暗くしてくれて、画像のプレビューとか格好良く出来そうだから使いたい。 でも、そのときImageViewのスケールをちゃんと設定しないとダサい余白が出来る。特にWEB上から画像を引っ張ってくるときは、でかい画像が来るかもしれないので、スケールの設定をしておかないとダサくなる。

以下はダサい例

ダサい

何か上下に変な余白がある。この余白がImageViewのものだと気がつくのにかなり時間が掛かった。ずっとDialogのパディングだと思ってた。

以下はダサくない例

ダサくない

設定は以下

//Bitmap image
ImageView iv = new ImageView(this);
iv.setImageBitmap(image);
iv.setScaleType(ImageView.ScaleType.FIT_XY);
iv.setAdjustViewBounds(true);
Dialog dialog = new Dialog(this);
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(iv);
dialog.show();

ScaleTypeをFit_XYにして、AdjustViewBoundsをtrueにする。Fit_XYは縦横別々にリサイズしやがれって意味で、AdjustViewBounds=trueはアス比維持しろって意味だから、なんか矛盾抱えてる感じする。

Androidよくわからん。