使用 glide 在 ActionBar 上设置图标
Set icon on ActionBar using glide
我正在使用 glide 在回收站视图的图像视图中加载图像 URLs,它工作正常。
现在,我想从动态图像设置 ActionBar 图标 URL。
我如何使用滑行来实现它?
我提到了以下 link:。
但是,我没有得到结果。而且我不想切换到毕加索。
有人可以帮助我吗?
我的代码:
Glide.with(this)
.load(receiver1.profilepic)
.placeholder(R.drawable.user)
.into(new Target<GlideDrawable>()
{
@Override
public void onLoadStarted(Drawable placeholder)
{
}
@Override
public void onLoadFailed(Exception e, Drawable errorDrawable)
{
}
@Override
public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation)
{
Bitmap bitmap1=((GlideBitmapDrawable) resource).getBitmap();
Drawable drawable = new BitmapDrawable(getResources(), bitmap1);
actionBar.setIcon(drawable);
}
@Override
public void onLoadCleared(Drawable placeholder)
{
}
@Override
public void getSize(SizeReadyCallback cb) {
}
@Override
public void setRequest(com.bumptech.glide.request.Request request)
{
}
@Override
public com.bumptech.glide.request.Request getRequest()
{
return null;
}
@Override
public void onStart()
{
}
@Override
public void onStop()
{
}
@Override
public void onDestroy()
{
}
});
首先,我们设置 getSupportActionBar().setDisplayShowHomeEnabled(true)
和 getSupportActionBar().setDisplayUseLogoEnabled(true)
,然后在管理操作栏图标可见性之后,只需使用 actionBar.setIcon(bitmap)
或 actionBar.setIcon(drawable)
来渲染加载的图像。
首先,您应该启用如下两个设置:
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayUseLogoEnabled(true);
然后您可以像这样将 .asDrawable()
与 CustomTarget<Drawable>()
一起使用:
Glide.with(this).asDrawable().load(imageUrl).into(new CustomTarget<Drawable>() {
@Override
public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
getSupportActionBar().setLogo(resource);
}
@Override
public void onLoadCleared(@Nullable Drawable placeholder) {
}
});
备注:
- 确保用您的数据替换上下文 (
this
) 和 imageUrl
。
- 不要使用
SimpleTarget
,因为它从版本 4.8.0 开始已弃用。
我正在使用 glide 在回收站视图的图像视图中加载图像 URLs,它工作正常。
现在,我想从动态图像设置 ActionBar 图标 URL。 我如何使用滑行来实现它?
我提到了以下 link:
有人可以帮助我吗?
我的代码:
Glide.with(this)
.load(receiver1.profilepic)
.placeholder(R.drawable.user)
.into(new Target<GlideDrawable>()
{
@Override
public void onLoadStarted(Drawable placeholder)
{
}
@Override
public void onLoadFailed(Exception e, Drawable errorDrawable)
{
}
@Override
public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation)
{
Bitmap bitmap1=((GlideBitmapDrawable) resource).getBitmap();
Drawable drawable = new BitmapDrawable(getResources(), bitmap1);
actionBar.setIcon(drawable);
}
@Override
public void onLoadCleared(Drawable placeholder)
{
}
@Override
public void getSize(SizeReadyCallback cb) {
}
@Override
public void setRequest(com.bumptech.glide.request.Request request)
{
}
@Override
public com.bumptech.glide.request.Request getRequest()
{
return null;
}
@Override
public void onStart()
{
}
@Override
public void onStop()
{
}
@Override
public void onDestroy()
{
}
});
首先,我们设置 getSupportActionBar().setDisplayShowHomeEnabled(true)
和 getSupportActionBar().setDisplayUseLogoEnabled(true)
,然后在管理操作栏图标可见性之后,只需使用 actionBar.setIcon(bitmap)
或 actionBar.setIcon(drawable)
来渲染加载的图像。
首先,您应该启用如下两个设置:
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayUseLogoEnabled(true);
然后您可以像这样将 .asDrawable()
与 CustomTarget<Drawable>()
一起使用:
Glide.with(this).asDrawable().load(imageUrl).into(new CustomTarget<Drawable>() {
@Override
public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
getSupportActionBar().setLogo(resource);
}
@Override
public void onLoadCleared(@Nullable Drawable placeholder) {
}
});
备注:
- 确保用您的数据替换上下文 (
this
) 和imageUrl
。 - 不要使用
SimpleTarget
,因为它从版本 4.8.0 开始已弃用。