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のタッチイベント


コメント