您的位置:首页 > 其它

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

2016-01-15 15:52 721 查看
两种方式

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

核心代码

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
Drawable d = getDrawable();

if(d!=null){
// ceil not round - avoid thin vertical gaps along the left/right edges
int width = MeasureSpec.getSize(widthMeasureSpec);
//高度根据使得图片的宽度充满屏幕计算而得
int height = (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”

<ImageView

android:layout_width="match_parent"
android:layout_height="wrap_content"

android:adjustViewBounds="true"
android:scaleType="fitXY"
/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: