使用Glide-Android加载占位符图像



我有一个ViewPager,它使用自定义适配器。这些项目是具有标题文本(TextView title(、标题下的一些文本(TextView desc(和标题上的ImageView的卡片。图像通过Glide库从数据库加载。它工作正常,图像加载成功,但在第一次加载图像时,卡显示为空,甚至没有文本。在加载DB中的图像时,有没有办法在ImageView中显示带有文本和一些背景图像的卡片?

对不起,如果我的问题看起来很傻,我是第一次和Glide合作。ViewPager适配器代码:

@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, final int position) {
LayoutInflater layoutInflater = LayoutInflater.from(context);
// init root view (our 'card')
View view = layoutInflater.inflate(R.layout.vp_item, container, false);
// some code..
title.setText( events.get(position).getTitle() );
desc.setText( events.get(position).getDesc() );
// filling UI elements with data
Glide.with(context)
.load(events.get(position).getImageUrl())
.apply(new RequestOptions().override(800, 600))
.transition(DrawableTransitionOptions.withCrossFade())
.into(imageView);
// some code..
container.addView(view, 0);
return view;
}

您需要使用Glide提供的占位符函数,如下所示:

Glide.with(context)
.load(events.get(position).getImageUrl())
.placeholder(R.drawable.placeholder_image) /// add this
.apply(new RequestOptions().override(800, 600))
.transition(DrawableTransitionOptions.withCrossFade())
.into(imageView);

最新更新