android ImageView,ImageButton での縮小時の余白について

こちらも、ときどきアレ?って思ってしまうので備忘録代わりに。

androidは本当にレイアウトで苦労します。

ということで、イメージボタンを作ってみます。

ImageButton btnTest = new ImageButton(this);
btnTest.setImageResource(R.drawable.title_web);
btnTest.setScaleType(ScaleType.FIT_START);
btnTest.setAdjustViewBounds(true);
btnTest.setLayoutParams(new LinearLayout.LayoutParams(
    ViewGroup.LayoutParams.MATCH_PARENT,
    ViewGroup.LayoutParams.MATCH_PARENT));
xxx.addView(btnTest);

★ざっくり説明★

画面に対し画像が縮小され表示された場合、たとえば、縦横400pxの画像があったとして、画面の解像度が、320pxだったとした場合(正確にはAndroidではpxではなくdp考えないといけませんが、今回の説明では本題はそこにないので)、400pxの横幅が320pxに縮小して表示されることになります。
L4の「setAdjustViewBounds」をセットしないと「setScaleType」で、左上に表示させた場合、画像の下に80pxの空白が出来てしまいます。
画像は、320*320pxになっていますが実態は400*400pxのままなのですね。

ざっくり説明は、本題に焦点を当てているため語弊がありますので注意して下さい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です