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

来源:互联网 发布:2017山东网络歌手大赛 编辑:程序博客网 时间:2024/06/05 07:53

两种方式
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"                /> 
0 0
原创粉丝点击