图片的宽度为手机屏幕宽度,高度自适应
adapter item布局
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:adjustViewBounds="true"/>
Android里ImageView的ScaleType属性,这个属性决定了一张图片如何显示在ImageView上,常用的值有以下几个:CENTER,CENTER_CROP,CENTER_INSIDE,FIT_CENTER,FIT_END,FIT_START,FIT_XY,MATRIX。
这里使用的是FIT_XY,就是图片会填充 ImageView 的宽高,会出现拉伸与压缩现象,在这里设置 高度为自适应,属性 adjustViewBounds 为 true ,则会形成 ImageView 与 图片的宽高一至的样式效果
在Java 代码中动态设置也是一种方法
//获取屏幕像素对象实例
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
//宽度
int widthPixels = displayMetrics.widthPixels;
ViewGroup.LayoutParams lp = ivImg.getLayoutParams();
lp.height = ViewGroup.LayoutParams.WRAP_CONTENT;
lp.width = widthPixels;
ivImg.setLayoutParams(lp);
//这里设置图片最大的高度与宽度适配
ivImg.setMaxWidth(widthPixels);
ivImg.setMaxHeight(widthPixels * 2);