在项目中要根据在服务端生成的一张海报填充在imagview中。返回图片宽高为750*2500。但是在手机上发现宽度不能充满全屏。设置scaleType后图片长度会被截取或者长度被压缩。然后就自定义一个imagview来显示,完美解决。重写onMeasure,onMeasure中代码如下:
Drawable drawable = getDrawable();
if(drawable!=null){
int width = MeasureSpec.getSize(widthMeasureSpec);
//高度根据使得图片的宽度充满屏幕计算而得
int height = (int) Math.ceil((float) width * (float) drawable.getIntrinsicHeight() / (float) drawable.getIntrinsicWidth());
setMeasuredDimension(width, height);
}else{
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}