Articles of android glide

如何使用Glide通过字节数组加载图像?

我有一个图像内容byte []forms。 但是当我通过Glide加载它们时,会显示破碎的图像。 我正在做的事情如下所示。 Glide.with(context) .load(imageByteArray) .asBitmap() .placeholder(R.drawable.ic_broken) .into(rowImageView); imageByteArray成功转换为位图而不使用滑动。 所以图像字节数组没有错。 请指导我,我错过了什么? 我也在使用Glide库com.github.bumptech.glide:glide:3.6.1和Android支持库com.android.support:support-v13:23.0.1 编辑 好的,这就是我正在做的事情。 String imageBytes = “HVao14fpmtHSev3OgsrQNsawkFzXNcY3BsfQla6…” 上面定义的这个字符串是我从web API收到的实际图像的字节。 我正在将此String转换为像这样的字节数组 public static byte[] hexStringToByteArray(String s) { int len = s.length(); byte[] data = new byte[len / 2]; for (int i = 0; i < len; i += 2) { data[i / 2] = […]

如何在滑行中制作圆形裁剪图像的边框

默认情况下,滑行裁剪的图像没有边框我需要在圆圈图像中有边框。

通过Uri滑动加载本地图像。

我正在尝试使用Glide从本地存储加载图像但没有成功。 Glide.with(mContext) .load(pictureUri) // Uri of the picture .transform(new CircleTransform(..)) .into(profileAvatar); 这是我得到的错误: java.lang.Exception: Failed to load model: ‘/storage/emulated/0/DCIM/Camera/IMG_20150831_180900.jpg’ at com.bumptech.glide.request.GenericRequest.onSizeReady(GenericRequest.java:441) at com.bumptech.glide.request.target.ViewTarget$SizeDeterminer.getSize(ViewTarget.java:211) at com.bumptech.glide.request.target.ViewTarget.getSize(ViewTarget.java:100) at com.bumptech.glide.request.GenericRequest.begin(GenericRequest.java:272) at com.bumptech.glide.manager.RequestTracker.resumeRequests(RequestTracker.java:83) at com.bumptech.glide.RequestManager.resumeRequests(RequestManager.java:180) at com.bumptech.glide.RequestManager.onStart(RequestManager.java:203) at com.bumptech.glide.manager.ActivityFragmentLifecycle.onStart(ActivityFragmentLifecycle.java:50) at com.bumptech.glide.manager.SupportRequestManagerFragment.onStart(SupportRequestManagerFragment.java:135) at android.support.v4.app.Fragment.performStart(Fragment.java:1986) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1051) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1197) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1179) at android.support.v4.app.FragmentManagerImpl.dispatchStart(FragmentManager.java:1996) at android.support.v4.app.FragmentController.dispatchStart(FragmentController.java:176) at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:517) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1236) at android.app.Activity.performStart(Activity.java:6006) at […]

Glide:加载drawable但不扩展占位符

有没有办法使用Glide分配占位符但是将此图像保持原始比例? 我有一个可变大小的ImageView (取决于传入的图像),我在调用Glide.with().load().into()之前设置了它,我想为它使用占位符但不希望PH为resize到ImageView的大小,我希望它保持其原始大小。 到目前为止,我找不到办法做到这一点。

Glide:如何查找图像是否已缓存并使用缓存版本?

场景 : 我有一个大的GIF图像,我想在第一次使用Glide – 图像加载和缓存库打开应用程序时缓存。 在用户打开应用程序之后,我想显示缓存版本(如果存在)。 此GIF URL将在给定间隔后过期。 当它到期时,我会获取新的GIF URL并显示/缓存该URL以供将来使用。 我尝试了什么: 我在Glide的github页面上浏览了Caching和Cache Invalidation 。 我还去了谷歌集团的线程确保加载的图像只来自磁盘缓存 ,它显示了如何获取图像格式缓存。 我还通过了如何使某些特定图像问题的Glide缓存无效 。 从上面的链接我看到以下代码片段,其中显示了如何从缓存加载图像。 但是,这只会尝试从缓存中获取图像。 如果它不存在于缓存中,则它不会尝试从网络获取并失败: Glide.with(TheActivity.this) .using(new StreamModelLoader() { @Override public DataFetcher getResourceFetcher(final String model, int i, int i1) { return new DataFetcher() { @Override public InputStream loadData(Priority priority) throws Exception { throw new IOException(); } @Override public void […]

使用Glide预加载多个图像

我们正在尝试将图像预加载到缓存中以便以后加载它们(图像位于应用程序的Asset文件夹中) 我们尝试了什么: Glide.with(this) .load(pictureUri) .diskCacheStrategy(DiskCacheStrategy.ALL); Glide.with(this) .load(picture_uri) .diskCacheStrategy(DiskCacheStrategy.ALL) .preload(); 问题:只有在我们尝试加载/显示图像时才会缓存图像:必须先将它们加载到内存中,以便它们看起来更快。 Glide.with(this) .load(picture_uri) .into(imageView); 我们还尝试使用GlideModule来增加CacheMemory大小: public class GlideModule implements com.bumptech.glide.module.GlideModule { @Override public void applyOptions(Context context, GlideBuilder builder.setMemoryCache(new LruResourceCache(100000)); } @Override public void registerComponents(Context context, Glide glide) { } } 在清单中: 到目前为止没有任何工作。 任何想法? 我们尝试使用不可见的1 dp imageView,但结果是一样的: for(Drawing drawing: getDrawingsForTab(tab)){ Glide.with(this) .load(drawing.getImage().toUri()) .dontAnimate() .diskCacheStrategy(DiskCacheStrategy.ALL) .into(mPreloadCacheIv); for(Picture picture […]

如何使用Glide将Image放入ImageView

我关心的是如何使用android:scaleType=”fitXY”将图像放入图像中使用Glide 。 我的ImageView是 像这样使用Glide加载图像 Glide.with(context).load(url).placeholder(R.drawable.default_image).into(img); 但是图像fitXY ImageView它在图像的任何一侧显示空间,如屏幕所示我需要它fitXY

错误“您不得在视图上调用setTag()Glide正在定位”使用Glide时

我在我的应用程序中使用Glide库内部自定义适配器视图。 但我有错误: “You must not call setTag() on a view Glide is targeting” 这部分代码: @Override public View getView(int position, View view, ViewGroup container) { ViewHolder holder; if (view == null) { holder = new ViewHolder(); view = holder.imageView = new ImageView(context); view.setTag(holder); } else { holder = (ViewHolder) view.getTag(); } holder.imageView.setAdjustViewBounds(true); LinearLayout.LayoutParams vp = new […]

Recyclerview适配器和Glide – 每4-5行相同的图像

我有这个问题 – 仅仅为了测试目的,我将ParseFile从接收列表添加到ParseFile之一。 它不是仅显示在该行中,而是显示每4-5行,有时更多,有时更少。 我认为回收视图与此有关。 奇怪的是,其他数据(从这个例子中删除)适用于positionvariables。 @Override public void onBindViewHolder(ViewHolder holder, int position) { if(parseList.get(position).get(“logo”) != null){ ParseFile image = (ParseFile) parseList.get(position).get(“logo”); String url = image.getUrl(); Glide.with(context) .load(url) .placeholder(R.drawable.piwo_48) .transform(new CircleTransform(context)) .into(holder.imageView); } }

Glide听众不起作用

我正在使用Glide加载图像,我添加了一个监听器,以了解资源何时准备好或是否存在任何types的错误: Glide.with(mContext) .load(url) .placeholder(R.drawable.glide_placeholder) // use dontAnimate and not crossFade to avoid a bug with custom views .dontAnimate() .diskCacheStrategy(DiskCacheStrategy.ALL) .listener(new RequestListener() { @Override public boolean onException(Exception e, String model, Target target, boolean isFirstResource) { // do something return true; } @Override public boolean onResourceReady(GlideDrawable resource, String model, Target target, boolean isFromMemoryCache, boolean isFirstResource) { // […]