Kotlin Android Studio - 从newsapi加载缩略图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin Android Studio - 从newsapi加载缩略图相关的知识,希望对你有一定的参考价值。

我正在使用这个news api将json数据拉入我的应用程序并在我的articlerecycler适配器类中呈现它。从api有一个json值urlToImage,它包含我需要渲染的缩略图。目前我有一份20个左右的文章工作清单,显示作者,标题,描述等。

显示缩略图的最佳方法是什么?使用ImageView小部件是处理这个问题的最佳方法吗?

例如,

    <ImageView
    android:id="@+id/thumbnailIv"
    android:layout_width="94dp"
    android:layout_height="93dp"
    android:layout_weight="1"
    android:contentDescription="@string/urlToImage"
    android:scaleType="fitCenter"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:srcCompat="@drawable/placeholder_image" />

我通过其他帖子发现毕加索是延迟加载图像的好方法,特别是缩略图。

    // load the image with Picasso
    Picasso.get()
            .load("") // load the image
            .into(thumbnailIv) // select the ImageVi

  }
答案

是的使用ImageView并使用像Glidepicasso这样的库将图像从网址加载到ImageView

 GlideApp.with(context)
            .load(url)
            .diskCacheStrategy(DiskCacheStrategy.DATA) //optional
            .placeholder(R.drawable.default_image)  //optional
            .error(R.drawable.default_image)  //optional
            .into(holder.imageNews);

使用ImageView,您可以控制ScaleType另一个有用的属性是android:adjustViewBounds="true",它将保持纵横比。如果使用线性/相对并将图像设置为背景,则无法控制这些属性

以上是关于Kotlin Android Studio - 从newsapi加载缩略图的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Android Studio 加速 Kotlin Multiplatform 的 iOS 应用程序构建

Android Studio:Kotlin RegisterListener [重复]

如何在 Android Studio 中使用 Kotlin 从 Firebase 中的数据库中获取特定值?

在 android studio kotlin 中将数据从活动传递到片段(不重复,这些方法不起作用)

Android Studio:无法获取未知属性“kotlin_version”

在 Android Studio Kotlin 中从 SQLite 数据库中删除数据