当前位置:首页 > 科技新闻 > 移动平台 > 正文

Android RecyclerView 列表加载图片宽高适配
2021-10-08 17:27:17

图片的宽度为手机屏幕宽度,高度自适应

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);

本文摘自 :https://blog.51cto.com/9