And*_*cus 12 android android-glide
我正在从毕加索转向格莱德.一切正常,除了我找不到一个方法来获得错误回调.我想检索一个Bitmap,传递它并从中生成一个Android Palette.此外,虽然可以将errorDrawable提供给加载调用,但在onResourceReady
使用时它不会显示SimpleTarget
.
在毕加索我做到了这样:
target = new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
//handle Bitmap, generate Palette etc.
}
@Override
public void onBitmapFailed(final Drawable errorDrawable) {
// use errorDrawable to generate Palette
}
@Override
public void onPrepareLoad(final Drawable placeHolderDrawable) {
}
};
int width = (int) DisplayUnitsConverter.dpToPx(this, 120);
int height = (int) DisplayUnitsConverter.dpToPx(this, 40);
Picasso.with(this).load(config.getPathToLogo()).resize(width, height).error(errorDrawableId).into(target);
Run Code Online (Sandbox Code Playgroud)
我的滑动代码如下所示:
Glide.with(context)
.load(config.getPathToLogo())
.asBitmap()
.into(new SimpleTarget<Bitmap>(width, height) {
@Override
public void onResourceReady(Bitmap resource, GlideAnimation glideAnimation) {
//handle Bitmap, generate Palette etc.
}
});
Run Code Online (Sandbox Code Playgroud)
谢谢.
Pat*_*iak 10
对于每个有相同问题的人-您需要使用侦听器方法。例如:
Glide.with(activity)
.load(getPhoto().getUrl())
.apply(
new RequestOptions()
.error(R.drawable.icon_placeholder)
.centerCrop()
)
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
//on load failed
return false;
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
//on load success
return false;
}
})
.transition(withCrossFade())
.into(view);
Run Code Online (Sandbox Code Playgroud)
您正在使用SimpleTarget
它实现Target
定义方法的接口,onLoadFailed
因此您只需要执行以下操作:
Glide.with(context)
.load(config.getPathToLogo())
.asBitmap()
.into(new SimpleTarget<Bitmap>(width, height) {
@Override
public void onResourceReady(Bitmap resource, GlideAnimation glideAnimation) {
//handle Bitmap, generate Palette etc.
}
@Override
public void onLoadFailed(Exception e, Drawable errorDrawable) {
// Do something.
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11037 次 |
最近记录: |