滑行缩放问题

时间:2018-07-08 16:25:39

标签: android android-glide

从URL加载的图像缩放时,我遇到一些问题。

它们每秒钟缩放比例不同。因此,一开始它们已正确加载。如果我刷新视图。图像按比例缩小。然后,如果我再刷新一次。视图将再次正确缩放。

还有其他滑行有类似问题的人吗?

fun ImageView.loadUrl(key: String?, gameName: String?, width: Int?, height: Int?) {
    val storage = FirebaseStorage.getInstance()
    GlideApp.with(context)
        .load(storage.getGameStorageReference(gameName!!, key!!))
        .into(this)
}

这是图像的加载方式。忽略函数中的其他属性。它们将在以后使用。

正确的方式

Correct loaded image

错误的方式

Wrong loaded image

XML

<ImageView
    android:id="@+id/iv_feed_image_content_image"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginTop="16dp"
    android:scaleType="fitCenter"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/tv_feed_image_input"
    tools:src="@tools:sample/avatars"/>

1 个答案:

答案 0 :(得分:0)

找到了解决此问题的方法。感谢以下网址https://github.com/bumptech/glide/issues/1591

fun ImageView.loadUrl(key: String?, gameName: String?, width: Int?, height: Int?) {
    layout(0,0,0,0)
    val storage = FirebaseStorage.getInstance()
    GlideApp.with(context)
        .load(storage.getGameStorageReference(gameName!!, key!!))
        .into(this)
}

因此,换句话说,我只是叫imageview.layout(0,0,0,0)重设了imageview。这是在override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int)

中完成的