SumeFitImage
public class SumeFitImage extends AppCompatImageView {
private int width;
private int height;
public SumeFitImage(Context context) {
super(context);
}
public SumeFitImage(Context context, AttributeSet attrs) {
super(context, attrs);
}
public SumeFitImage(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
Drawable drawable = getDrawable();
if (drawable != null) {
width = MeasureSpec.getSize(widthMeasureSpec);
//高度根据使得图片的宽度充满屏幕计算而得
height = (int) Math.ceil((float) width * (float) drawable.getIntrinsicHeight() / (float) drawable.getIntrinsicWidth());
setMeasuredDimension(width, height);
} else {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
}
public int getH() {
return height;
}
public int getW() {
return width;
}