为什么我的图像在加载滑动库后会缩小

您好我正在填充一个GridView与滑翔图像加载器库,当他们第一次被调用到我的片段他们看起来像这样 完善 但上下滚动后,他们resize,看起来像这样 太小 这是我正在做我的gridview,滑翔库,还是像我的占位符图像的东西? 在第二个屏幕截图上如果我按下一个图像,它会亮起来显示它实际上正在填充整个空间,任何人都知道我在这里做错了什么? 我尝试改变滑动呼叫与centercrop等,但似乎没有什么区别,我不知道我将如何解决每个单元格的宽度和高度,任何build议欢迎

这里编辑是如何即时通话滑翔

Glide.with(getActivity()) .load(mThumbIds[position]) .placeholder(R.drawable.placeholder) .error(R.drawable.ic_drawer) .centerCrop() .override(500,300) .into(imageView); 

Solutions Collecting From Web of "为什么我的图像在加载滑动库后会缩小"

其实你必须给你的图像容器(ImageView)的宽度和高度固定。

 <ImageView android:id="@+id/channelImage" android:layout_width="65dp" android:layout_height="65dp" android:layout_centerHorizontal="true" android:layout_margin="10dp" android:src="@drawable/sama" /> 

然后,当你调用滑动时,你必须用override方法dynamic地覆盖你的宽度和高度。 这是您的容器的最大宽度和高度。

 Glide.with(getActivity()) .load("your url") .placeholder(R.drawable.tv2v_icon) .diskCacheStrategy(DiskCacheStrategy.ALL) .fitCenter() .override(500,500) .into(channelImage); 

希望这可以帮到你。

无论如何有像.fitCenter()或.centerCrop()方法。尝试使用此方法中

  Glide.with(getApplicationContext()) .load("") .centerCrop() .placeholder(R.drawable.ic_launcher) .crossFade() .override(1000,1000) .into(myImageView); . 

使用.dontAnimate()方法来解决问题。

  Glide.with(上下文)
                 .using(new FirebaseImageLoader())
                 .load(pathReference)
                 .dontAnimate()
                 .placeholder(R.drawable.place_holder)
                 .into(holder.logo); 

对于一个几乎相同的问题, 我只需要添加.override( maxItemWidthmaxItemHeight 。 这似乎阻止了滑翔正在做的事情,导致图像缩小。

注意: maxItemWidth / maxItemHeight是我用于回收视图项目容器的值,但保存图像的ImageView实际上更小(因为边框和标签)。

  Glide .with(context) .load(categoryItem.getThumbnail()) .asBitmap() .fitCenter() .override(itemWidth, itemHeight) .into(holder.imgIcon); 

这是我的xml,如果好奇:

 <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@id/item_container" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center_vertical" android:orientation="vertical" android:padding="4dp"> <FrameLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@drawable/rounded_white_rectangle" android:padding="2dp" > <ImageView android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:color/white" android:scaleType="fitCenter" android:adjustViewBounds="true" /> </FrameLayout> </FrameLayout>