简单实现ImageView宽度填满屏幕,高度自适应的两种方式

两种方式

1.重写View的onMeasure方法参考这里easion_zms的专栏

核心代码

protectedvoidonMeasure(intwidthMeasureSpec,intheightMeasureSpec){

Drawable d = getDrawable();if(d!=null){// ceil not round - avoid thin vertical gaps along the left/right edgesintwidth = MeasureSpec.getSize(widthMeasureSpec);//高度根据使得图片的宽度充满屏幕计算而得intheight = (int) Math.ceil((float) width * (float) d.getIntrinsicHeight() / (float) d.getIntrinsicWidth());

setMeasuredDimension(width, height);

}else{super.onMeasure(widthMeasureSpec, heightMeasureSpec);

}

2.设置ImageView的属性:

//宽度填满屏幕

android:layout_width=”match_parent”

android:scaleType=”fitXY”

android:layout_height=”wrap_content”

//保持比例,一定要设置

android:adjustViewBounds=”true”

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容