Articles of android glide

如何从同一个URL重新加载Glide中的图像?

我正在使用Glide图像加载器从特定URL加载图像,现在如果我将图像更新为相同的URL,Glide仍在我的imageview中显示缓存的图像。 如何从同一个URL重新加载图像?

Android Glide:如果请求失败,则阻止白色图像

所以我只是感兴趣,如果我提供的url是错误的,我可以阻止Glide将白色(空)图像加载到ImageView中。如果找不到,我想保留我提供的XML图像图像(因为用户输入可能是错误的)。 我已经尝试在监听器中返回true,但我想这只是用于animation处理。 非常感谢! public static void loadImage(String url, Context c, ImageView target) { Glide.with(c).load(url).listener(new RequestListener() { @Override public boolean onException(Exception e, String model, Target target, boolean isFirstResource) { e.printStackTrace(); return true; } @Override public boolean onResourceReady(GlideDrawable resource, String model, Target target, boolean isFromMemoryCache, boolean isFirstResource) { return false; } }).into(target); } }

Android库Picasso还是Glide?

什么是更好的Android库。 毕加索还是滑翔?为什么? 我现在正在使用毕加索,但图像加载非常慢。 滑翔比毕加索快吗?

RecyclerView Recycled ViewHolder Image查看错误的大小

我有一个带有不同View Holders的回收站视图。 一些视图持有者具有图像视图,我将其传递到Glide以显示图像。 问题是,当回收者视图开始回收视图时,imageview宽度/高度是回收视图的宽度/高度,然后他们会错误地显示图像。 这是我的ImageView: 这被传递到Glide Glide.with(itemView.getContext()) .load(Uri.parse(MediaUtils .getMedia(feedContent).getMediaUrl())) .placeholder(R.drawable.placeholder) .diskCacheStrategy(DiskCacheStrategy.SOURCE) .crossFade().into(image); 这种方法很有效,直到Recyclerview开始回收,因此recyclerview中的第一个图像看起来就是这样,这就是它的外观。 但是,当您从项目滚动并向后滚动时,它看起来像这样: 因此图像变形并且不是父母的全宽。 我希望图像视图包装内容,因为所有图像将是不同的高度等。为了测试这个我添加了这个行holder.setIsRecyclable(false); 为了防止这个特定的支架和所有显示的图像的回收,然而,正如预期的那样,这产生了刺耳的效果。 所以我尝试在OnViewRecycled方法中重置图像视图的参数,如下所示: @Override public void onViewRecycled(AbstractHolder viewHolder){ super.onViewRecycled(viewHolder); int position = viewHolder.getAdapterPosition(); IFeedContent content = mFeedContentList.get(position); LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); params.setMargins(0, (int) Utils.dpTopx(mContext,10),0,0); params.gravity = Gravity.CENTER; if(isImage(content)){ viewHolder.getImageView().setImageURI(null); viewHolder.getImageView().setImageDrawable(null); viewHolder.getImageView().setImageResource(0); viewHolder.getImageView().setLayoutParams(params); } } 在这里我重新创建xml中的params但它不起作用。 方法isImage()这只是检查对象的mimetype。 任何人都可以帮忙吗? 这非常令人沮丧。 […]

使用Glide从SD卡加载图像

我一直在努力寻找过去5个小时的答案。 我将图像从google plus存储到本地文件夹,并使用Glide库将图像加载到imageview中。 文件uri是file:///storage/emulated/0/MyApp/ProfilePics/profile_user1.jpg 我正在使用下面的代码通过滑行加载图像: Glide.with(ProfileActivity.this).load(Uri.fromFile(new File(sharedPrefMan.getImageUrl()))).placeholder(R.drawable.placeholder_profile).into(imgProfilePic); 其中sharedPrefMan.getImageUrl()返回/storage/emulated/0/MyApp/ProfilePics/profile_user1.jpg 图像存在于给定位置。

Glide无法解析asBitmap()

为什么我在使用Glide无法解决此方法,我无法解析.diskstaretegy() : Glide.with(getActivity()) .load(chalet.profilePhoto) .asBitmap() <— cannot resolve this .diskCacheStrategy(DiskCacheStrategy.ALL) <— cannot reslove this .fitCenter() .placeholder(R.drawable.logo).dontAnimate().into(mImageView); 我的朋友: – compile ‘com.github.bumptech.glide:glide:4.0.0’

Glide不animation从缓存加载的ImageView

我正在使用Glide作为我的图像加载器,并希望图像在背景中淡出。 我遇到的问题是,一旦图像显示一次,它就不会生成animation。 int i = 0; int[] images = { R.drawable.sunset1,R.drawable.sunset2,R.drawable.sunset3 }; if(i < images.length – 1){ i++; }else{ i = 0; } Glide.with(MainActivity.this).load(images[i]).placeholder(imageView.getDrawable()).crossFade(1000).into(imageView);

使用滑行时出错 – 您无法为被破坏的活动启动加载

恢复活动时,会发生此错误。 尝试在方法onDestroy()或onDestroyView()中使用Glide.with(getActivity())。pauseRequests()或Glide.get(getActivity())。clearMemory(),没有任何实际工作。 仍然得到这个错误。 另外,试图取消所有关于毁灭的凌空请求,仍然没有运气。 07-02 13:07:24.788 1406-1406 /? E / InputEventReceiver:exception调度输入事件。 07-02 13:07:24.800 1406-1406 /? E / MessageQueue-JNI:MessageQueue回调中的exception:handleReceiveCallback 07-02 13:07:24.817 1406-1406 /? E / MessageQueue-JNI:java.lang.IllegalArgumentException:你无法为被破坏的活动开始加载07-02 13:07:24.817 1406-1406 /? E / MessageQueue-JNI:at com.baeob(Unknown Source)07-02 13:07:24.817 1406-1406 /? E / MessageQueue-JNI:at com.baeoa(Unknown Source)07-02 13:07:24.817 1406-1406 /? E / MessageQueue-JNI:at com.baeoa(Unknown Source)07-02 13:07:24.817 1406-1406 /? E / MessageQueue-JNI:at […]

ImageView的wrap_content不能与Glide一起使用

我正在测试滑动以在我的项目中加载图像。 我创建了以下布局 当我使用imageView.setImageResource(int)加载图像时,它正确加载(见下面的截图) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView imageView= (ImageView) findViewById(R.id.imageview); imageView.setImageResource(R.drawable.pen_logo); } 但是当我用滑动加载它时,图像会被扩展而忽略了wrap_content布局参数: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView imageView = (ImageView) findViewById(R.id.imageview); Glide.with(this).load(R.drawable.pen_logo).into(imageView); } 我怎么解决这个问题?

Android – 通过“覆盖”和“fitCenter”调整Glide大小调整图像会使位图变形

我正在使用Glide将图库中的图像加载到GLSurfaceView 。 但是,当我尝试使用override(width, height)调整图像大小时,它不会这样做。 因此,我添加了fitCenter() ,这似乎是获得所需大小的关键。 我的问题是当Bitmapresize时,结果很奇怪! 除了宽度值较小的图像外,一切都很好。 附图说明了使用和不使用fitCenter()之间的区别。 这是我用于通过Glide加载的代码 Glide.with(this) .load(imageUri) .asBitmap() .override(newWidth, newHeight) .fitCenter() .atMost() .into(new SimpleTarget(newWidth, newHeight) { @Override public void onResourceReady(Bitmap resource, GlideAnimation glideAnimation) { Log.e(TAG, “Loaded Bitmap Size :” + resource.getWidth() + “x” + resource.getHeight()); /* . . Initialize GLSurfaceView with Bitmap resource . */ } }) ; 我想了一下,它可能是一个GLSurfaceView问题,与我想到的非常小的宽度有关。 但它看起来完美渲染,直到调整图像大小。 […]