原因是没有给imageview设置明确的大小 解决方案
方案一:拿到原图尺寸 然后加载的时候设置尺寸
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;//这个参数设置为true才有效,
Bitmap bmp = BitmapFactory.decodeFile(strings.get(position), options);//这里的bitmap是个空
int outHeight=options.outHeight;
int outWidth= options.outWidth;
Glide.with(context).load(strings.get(position)).override(outWidth ,outHeight).into(holder.iv);
}
strings为图片地址。
方案二:在RecyclerView的item下的imageView设置尺寸 而不是设置match——parent或者wrap_content
<ImageView
android:id="@+id/iv"
android:layout_width="100dp"
android:layout_height="100dp"
/>
方案三:给imageView设置自动调节大小属性
<ImageView
android:id="@+id/iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"/>