RecycleView 瀑布流布局+ Glide 在上下滚动的时候 网络图片会出现忽大忽小的问题

RecycleView 瀑布流布局+ Glide 在上下滚动的时候 网络图片会出现忽大忽小的问题

https://img1.sycdn.imooc.com//climg/61779a0d083b38ce10681898.jpg


RecycleView的Item中的属性如下

相关代码:


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <ImageView
        android:id="@+id/id_item_iv_movieIma"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="5dp"
        android:layout_gravity="center"
       />

    <TextView
        android:id="@+id/id_item_tv_movieName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:textSize="15sp"
        android:layout_margin="5dp"/>

   <RatingBar
       android:id="@+id/id_item_rtb"
       style="@style/Widget.AppCompat.RatingBar.Small"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:numStars="10"
       android:isIndicator="true"
       android:rating="0"
       android:progressTint="#FF1493"
       android:layout_gravity="center"
       android:layout_margin="5dp"/>

</LinearLayout>


Glide加载图片的相关代码:

Glide.with(mContext)
   .load(moviesList.get(position).getImageUrl())
  //设置展示的图片尺寸,这里写死了图片宽为屏幕宽的一半,图片高为宽的2倍
   .override(width,height)

问题描述:

加载网络图片的宽高明明写死了,为什么上下滑动RecycleView的时候仍会出现图中所示 网络图片会出现忽大忽小同一行图片对不齐的问题???如何处理此种问题???

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕雪 2021-10-26 14:39:42

同学你好,请注意要把imageview的宽高固定一下就可以了。给一个固定的值

https://img1.sycdn.imooc.com//climg/6177a26c09c5187007890221.jpg

同学的代码中并没有固定。

祝:学习愉快

  • 提问者 不会秃瓢 #1

    这种方式可以实现,但是无法实现ImageView自适应屏幕大小,请问有手动在RecyclerView的适配器中更改ImagView宽高的方式吗?比如:

    viewHolder.imageView.setLayoutParams(),这种方式应用会崩溃


     java.lang.ClassCastException: androidx.recyclerview.widget.RecyclerView$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams

    2021-10-26 15:16:25
  • 好帮手慕雪 回复 提问者 不会秃瓢 #2
    setWidth()这样设置


    2021-10-26 16:14:09
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.Android 网络操作与流行框架
  • 参与学习           人
  • 提交作业       220    份
  • 解答问题       1800    个

本阶段是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理;从文件存储、到轻量级数据库SQLite的使用;最后利用最流程的第三方框架助你快速开发企业级APP。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师