我正在使用这个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
并使用像Glide
或picasso
这样的库将图像从网址加载到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"
,它将保持纵横比。如果使用线性/相对并将图像设置为背景,则无法控制这些属性