public class ScreenWidthImgView extends ImageView {
public ScreenWidthImgView(Context context) {
super(context);
setScaleType(ScaleType.FIT_XY);
}
public ScreenWidthImgView(Context context, AttributeSet attrs) {
super(context, attrs);
setScaleType(ScaleType.FIT_XY);
}
public ScreenWidthImgView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setScaleType(ScaleType.FIT_XY);
}
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
Drawable d = getDrawable();
int width = MeasureSpec.getSize(widthMeasureSpec);
int height = width * d.getIntrinsicHeight()/d.getIntrinsicWidth();
setMeasuredDimension(width, height);
}
}
はあなたに常に画面の幅いっぱいを占め、均一に画像を拡大縮小画像が得られます。
これは、すべてのケースでイメージをスケールアップすることはなく、アスペクト比も保持しません。 – Joru