ImageViewのカスタマイズについて、主な設定を挙げます。なお、Bitmapクラスについては、別途説明ページを用意します。
→こちら
画像ファイル
res/drawable/image_sample.png
import android.app.Activity; import android.graphics.Bitmap; import android.widget.ImageView; public class MyClass extends Activity{ public void myMethod(Bitmap bitmap){ ImageView iv = (ImageView)this.findViewById(R.id.myImage); // アスペクト比を維持する iv.setAdjustViewBounds(true); // Viewの最大サイズを指定 iv.setMaxWidth(200); // [px] iv.setMaxHeight(200); // [px] // スケール設定 // ●そのまま中央に描画 // CENTER:中央に描画(リサイズまったくなし) // ●画像をViewの幅もしくは高さのサイズに合わせる // FIT_CENTER:中央に描画 // FIT_END:右下端に描画 // FIT_START:左上端に描画 // FIT_XY:Viewのサイズいっぱいにリサイズ // ●Viewのサイズに合わせないが、アスペクト比維持のためリサイズする // CENTER_CROP:中央に描画(余白無視) // CENTER_INSIDE:中央に描画 iv.setScaleType(ImageView.ScaleType.CENTER); // 画像設定(ファイルより) iv.setImageResource(R.drawable.image_sample); // 画像設定(Bitmapクラスより) iv.setImageBitmap(bitmap); } }
xmlだとこうなります。
<?xml version="1.0" encoding="utf-8"?> <ImageView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/myImage" android:layout_width="wrap_content" android:layout_height="wrap_content" android:adjustViewBounds="true" // "true" or "false" android:maxWidth="200px" android:maxHeight="200px" // center,fitCenter,fitEnd,fitStart,fitXY,centerCrop,centerInside android:scaleType="center" android:src="@drawable/image_sample" />
参考: Viewコンポーネントの余白設定
参考: TextViewのカスタマイズ
参考: Viewのクリックイベント
参考: Viewのタッチイベント
コメント