ImageButtonでボタン内に画像を表示する
画像を表示するImageButtonクラスのオブジェクトの大きさと、表示する画像の大きさが異なる場合の対処法です。
「ImageButton」クラスの「ScaleType」で画像のサイズを調節します。
ScaleType | 画像サイズ | 表示位置 |
---|---|---|
CENTER | サイズ変更なし | 中央 |
CENTER_CROP | ボタンの横幅いっぱいに拡大 | 中央 |
FIT_CENTER | ボタンの縦幅いっぱいに拡大 | 中央 |
FIT_END | ボタンの縦幅いっぱいに拡大 | 右寄せ |
FIT_START | ボタンの縦幅いっぱいに拡大 | 左寄せ |
FIT_XY | ボタン全体に拡大 |
「ImageView」クラスでも「ScaleType」の設定は同様です。
以下がxmlのサンプルです。
<ImageButton
android:id="@+id/imageButton1″
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1″
android:layout_marginTop="65dp"
android:scaleType="centerCrop"
android:src="@drawable/ic_launcher" />
mainActivityの中で行いたい場合は、「setScaleType」メソッドで調整できると思います。
画像を表示するときにサイズを変えることが多いのでメモ。