我试图以这种方式显示本地视频缩略图,它确实在列表中显示缩略图。然而,列表变得非常难以滚动。 有没有更好的方法来解决这个问题? https://futurestud.io/tutorials/glide-displaying-gifs-and-videos
VideoItem current = (VideoItem) getItem(position);
mHolder.mTvName.setText(current.getName());
mHolder.mTvDuration.setText( Utils.convertDuration(current.getDuration()));
mHolder.mTvSize.setText(formatFileSize(mContext, current.getSize()));
Glide.with(mContext)
.load(Uri.fromFile(new File(current.getPath())))
.transform(new GlideRoundTransform(mContext, 12))
.into(mHolder.mIvIcon);
return convertView;
答案 0 :(得分:3)
我发现以下答案也有效:
Uri uri = Uri.fromFile(new File(media.getPath()));
Glide.with(getContext()).
load(uri).
thumbnail(0.1f).
into(viewHolderImage.recordedMedia);
答案 1 :(得分:0)
是的,请改用RecyclerView。它不存储所有图片,只是那些适合屏幕的图片,很少隐藏用于缓存
答案 2 :(得分:-1)
最后,我找到了解决此案例的方法。 Glide有一种叫做缩略图(float sizeMultiplier)的方法,它只是压缩原始图像的大小。滚动时我的listView更加流畅。
Glide.with(mContext)
.load(Uri.fromFile(new File(current.getPath())))
.transform(new GlideRoundTransform(mContext, 16))
.thumbnail(0.1f)
.into(mHolder.mIvIcon);