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のままなのですね。
ざっくり説明は、本題に焦点を当てているため語弊がありますので注意して下さい。