ImageView使用Glide 将URL下载到一个非常简单:
Glide
.with(context)
.load(getIntent().getData())
.placeholder(R.drawable.ic_loading)
.centerCrop()
.into(imageView);
Run Code Online (Sandbox Code Playgroud)
我想知道我是否可以下载到一个Bitmap?我想下载到原始位图,然后我可以使用其他工具进行操作.我已经完成了代码并且没有看到如何做到这一点.
首先,Glide和之间有什么区别GlideApp?后者似乎是自动生成的,但步骤似乎很复杂,所以我使用了Glide.他们似乎都有相同的方法.
所以,我用过Glide.with(activity).load(fileName).error().into(imageView).问题是我无法理解传递给error()的内容.它没有采用可绘制的资源ID.Android Studio说参数是RequestBuilder <Drawable!> ?,但我找不到任何例子.
"错误:类型不匹配:推断类型是Int,但RequestBuilder <Drawable!>?是预期的"
为什么GlideDrawableImageViewTarget在Glide4 +中找不到?有什么选择?
我的代码:
import com.bumptech.glide.request.target.GlideDrawableImageViewTarget;
Glide.with(getContext())
.load(R.drawable.loader_gif_image)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.into(new GlideDrawableImageViewTarget(imageView));
}
Run Code Online (Sandbox Code Playgroud) 我正在使用最新版本的Glide,现在滑行:4.0.0-RC1并且无法找到占位符,错误,后备等方法可能他们已经为它提供了备用但我没有得到它.有人知道这个版本中有替代品吗?
我在过去2天遇到Glide问题.它运行正常但是当更新Glide depandency时,它在我以前的代码中给出了错误.
这是我的代码:
private void showImage(Uri uri, int dimenInPx) {
Glide.with(context)
.load(uri)
.override(dimenInPx, dimenInPx)
.transform(new CircleTransform(context))
.placeholder(R.mipmap.ic_display_pic)
.into((ImageView) findViewById(R.id.img_displayPic));
}
Run Code Online (Sandbox Code Playgroud)
.override,.transform和.placeholder未被Glide识别.
我的Gradle文件:
compile 'com.github.bumptech.glide:glide:3.7.0'
Run Code Online (Sandbox Code Playgroud)
是的我知道这是旧版本,但我甚至尝试了最新版本...
compile 'com.github.bumptech.glide:glide:4.3.1'
Run Code Online (Sandbox Code Playgroud)
我不知道我在哪里做错了.请帮帮我.谢谢
更新1: 我将Glide更新为最新的depandency,然后修改了@Ratilal提供的代码,现在看起来像这样:
Glide.with(context)
.load(uri)
.apply(new RequestOptions()
.override(dimenInPx, dimenInPx)
.placeholder(R.mipmap.ic_display_pic)
.transform(new CircleTransform(context)))
.into((ImageView) findViewById(R.id.img_displayPic));
Run Code Online (Sandbox Code Playgroud)
所以现在错误消失了,但我得到运行时NoSuchMethodError.
No virtual method load(Landroid/net/Uri;)Lcom/bumptech/glide/DrawableTypeRequest; in class Lcom/bumptech/glide/RequestManager; or its super classes (declaration of 'com.bumptech.glide.RequestManager' appears in /data/app/com.scoratech.scoraxchange-1/split_lib_dependencies_apk.apk)
Run Code Online (Sandbox Code Playgroud) 我有一个使用 Glide 3.5.2 的旧项目。下面的工作正常。
Glide.with(context)
.load(url)
.override(IMAGE_SIZE_FIX, IMAGE_SIZE_FIX)
.crossFade()
.placeholder(placeholder)
.into(imageView);
Run Code Online (Sandbox Code Playgroud)
但是,现在我将 Glide 更新到 4.5.0。它抱怨
Error:(35, 24) error: cannot find symbol method override(int,int)
Run Code Online (Sandbox Code Playgroud)
我尝试从Glide-4.0.0 Missing placeholder, error, GlideApp解决overide(int,int)问题的答案
。但随后就crossfade()成了问题。
我尝试的方法如下...
Glide.with(context)
.load(url)
.apply(new RequestOptions().override(IMAGE_SIZE_FIX, IMAGE_SIZE_FIX).placeholder(placeholder))
.crossFade()
.into(imageView);
Glide.with(context)
.load(url)
.apply(new RequestOptions().override(IMAGE_SIZE_FIX, IMAGE_SIZE_FIX).placeholder(placeholder).crossFade())
.into(imageView);
Run Code Online (Sandbox Code Playgroud)
两者都不起作用。抱怨
Error:(51, 17) error: cannot find symbol method crossFade()
Run Code Online (Sandbox Code Playgroud)
我怎么申请.crossFade()?
我正在尝试通过滑行找出 gif 的结尾。
这是我在网上找到的代码:
Glide.with(thisActivity).asGif().load(R.raw.logo_gif_motion_low).listener(object : RequestListener<GifDrawable> {
override fun onLoadFailed(p0: GlideException?, p1: Any?, p2: Target<GifDrawable>, p3: Boolean): Boolean {
}
override fun onResourceReady(p0: GifDrawable?, p1: Any?, p2: Target<GifDrawable>, p3: DataSource?, p4: Boolean): Boolean {
return false
}
}).into(splashscreen);
Run Code Online (Sandbox Code Playgroud)
问题是,它不接受GifDrawable的目标。
错误说:
如何创建url视频表单服务器的图像/缩略图
我尝试不工作(不显示缩略图)
String String url = "http://clips.vorwaerts-gmbh.de/VfE_html5.mp4";
Bitmap thumb = ThumbnailUtils.createVideoThumbnail(url,MediaStore.Images.Thumbnails.MINI_KIND);
Glide.with(context).load(thumb).asBitmap()
/*.override(convertDpToPx(100), convertDpToPx(100))*/
.placeholder(R.drawable.camera)
.override(200, 200)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(new BitmapImageViewTarget(img_view) {
protected void setResource(Bitmap resource) {
RoundedBitmapDrawable circularBitmapDrawable =
RoundedBitmapDrawableFactory.create(context.getResources(), resource);
//circularBitmapDrawable.setCircular(true);
img_view.setImageDrawable(circularBitmapDrawable);
}
});
Run Code Online (Sandbox Code Playgroud)
我通过回答1解决它!
但是它在缩略图方面遇到了一些问题,它的变化颜色就是标准.
例