有时候Glide的行为是不可取的,有时使用应用程序时ImageView看起来像这样:
回到(到父活动)并在不重新启动应用程序的情况下回到相同的电影结果,它会显示已修复(假设的外观),如下所示:
我不知道为什么会出现这种行为,这里是图片视图的xml代码:
<ImageView
android:elevation="4dp"
android:src="@drawable/poster_sample"
android:id="@+id/poster_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="24dp"
android:layout_marginStart="14dp"
android:scaleType="centerCrop"/>
滑翔代码:
Glide
.with(getContext())
.load(mMovieValues.get(MovieContract.MovieEntry.COL_POSTER_URL))
.centerCrop()
.into(mPoster);
问题出在哪里?以及如何解决这个问题?
答案 0 :(得分:1)
您应该为ImageView
提供固定的高度和宽度,而无需使用centerCrop
<ImageView
android:elevation="4dp"
android:src="@drawable/poster_sample"
android:id="@+id/poster_image"
android:layout_width="250dp"
android:layout_height="150dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="24dp"
android:layout_marginStart="14dp"/>
并从此处删除CenterCrop
Glide
.with(getContext())
.load(mMovieValues.get(MovieContract.MovieEntry.COL_POSTER_URL))
.into(mPoster);