当图像来自服务器时如何设置 edittext 背景(setBackgroundResource(R.drawable.ic_launcher_background))?
How to set edittext background(setBackgroundResource(R.drawable.ic_launcher_background)) when image is from server?
我想将来自服务器的图像设置为我的 editText 的背景。
当图片来自@drawable edit_text.setBackgroundResource(R.drawable.ic_launcher_background);
时,设置背景图很容易
我正在使用它来设置来自服务器的图像:
Glide.with(img_1)
.load(API_BASE_URL+"img/post_wall_background_1.jpg")
.apply(RequestOptions.bitmapTransform(new RoundedCorners(15)))
.placeholder(R.drawable.shadow)
.into(img_1);
当用户点击该图像时,我想将其设置为我的 editText 的背景。
我该怎么做?
我在谷歌上搜索了几个小时,但找不到任何相关信息。
按照@vikas kumar 的建议,我试过了:
Glide.with(img_1)
.load(API_BASE_URL+"img/post_wall_background_1.jpg")
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
new_post_edit_text.setBackground(resource);
return false;
}
})
.into(img_1);
但不起作用。
非常感谢。
使用 Glide 下载 drawable/bitmap 并使用 drawble/bitmap 设置背景
Glide.with(img_1)
.load(API_BASE_URL+"img/post_wall_background_1.jpg")
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(Exception e, Object model, Target<Drawable> target, boolean isFirstResource) {
progressBar.setVisibility(View.GONE);
return false; // important to return false so the error placeholder can be placed
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
edit_text.setBackgroundDrawable(resource);
return false;
}
})
.into(img_1);
我在这里找到了更好的解决方案:
Glide.with(getApplicationContext())
.load("tools/img/fsfdfg.jpg")
.override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
.into(new CustomTarget<Drawable>() {
@Override
public void onResourceReady(@NonNull Drawable resource,
@Nullable Transition<? super Drawable> transition) {
new_post_text_view.setBackground(resource);
}
@Override
public void onLoadCleared(@Nullable Drawable placeholder) {}
});
我想将来自服务器的图像设置为我的 editText 的背景。
当图片来自@drawable edit_text.setBackgroundResource(R.drawable.ic_launcher_background);
我正在使用它来设置来自服务器的图像:
Glide.with(img_1)
.load(API_BASE_URL+"img/post_wall_background_1.jpg")
.apply(RequestOptions.bitmapTransform(new RoundedCorners(15)))
.placeholder(R.drawable.shadow)
.into(img_1);
当用户点击该图像时,我想将其设置为我的 editText 的背景。
我该怎么做?
我在谷歌上搜索了几个小时,但找不到任何相关信息。
按照@vikas kumar 的建议,我试过了:
Glide.with(img_1)
.load(API_BASE_URL+"img/post_wall_background_1.jpg")
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
new_post_edit_text.setBackground(resource);
return false;
}
})
.into(img_1);
但不起作用。
非常感谢。
使用 Glide 下载 drawable/bitmap 并使用 drawble/bitmap 设置背景
Glide.with(img_1)
.load(API_BASE_URL+"img/post_wall_background_1.jpg")
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(Exception e, Object model, Target<Drawable> target, boolean isFirstResource) {
progressBar.setVisibility(View.GONE);
return false; // important to return false so the error placeholder can be placed
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
edit_text.setBackgroundDrawable(resource);
return false;
}
})
.into(img_1);
我在这里找到了更好的解决方案:
Glide.with(getApplicationContext())
.load("tools/img/fsfdfg.jpg")
.override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
.into(new CustomTarget<Drawable>() {
@Override
public void onResourceReady(@NonNull Drawable resource,
@Nullable Transition<? super Drawable> transition) {
new_post_text_view.setBackground(resource);
}
@Override
public void onLoadCleared(@Nullable Drawable placeholder) {}
});