标签: android-glide

使用Glide显示GIF文件(图像加载和缓存库)

我尝试在图像视图中显示GIF图像作为加载占位符 - 使用Glide库:

Glide.with(context)
    .load(ImageUrl())
    .placeholder(R.drawable.loading2)
    .asGif()
    .crossFade()
    .into(image);
Run Code Online (Sandbox Code Playgroud)

我试着显示这个文件

loading2.gif

但得到这个错误:

错误:(54,86)错误:无法找到符号方法asGif()

如何在imageView中使用Glide显示GIF文件?

android gif imageview android-glide

50
推荐指数
6
解决办法
8万
查看次数

使用Glide for Android,如何从资产和资源加载图像?

我想保持所有转换,激励和动画相同,并且考虑是否可以在Glide中传递资源ID或资产名称以在本地加载它?

android lazy-loading android-glide

47
推荐指数
3
解决办法
3万
查看次数

IllegalArgumentException:使用gms.maps.model.Marker.setIcon的非托管描述符

我有一个使用android-maps-utils滑动标记图标的应用程序.
我收到了使用Firebase崩溃报告的错误报告,我无法在源代码中跟踪,因为它gms.maps.model.Marker.setIcon是私有的,所以我要求帮助解决这个问题.
问题的以下部分分为:

  • 用户在做什么
  • 火灾基地崩溃向我报告了什么
  • 一些项目配置
  • 我尝试/发现试图理解/修复它

用户正在做什么
他在地图中放大和缩小(Fragment使用com.google.android.gms.maps.SupportMapFragment)

火灾基地崩溃向我报告了什么

异常java.lang.IllegalArgumentException:非托管描述符
com.google.maps.api.android.lib6.common.kb(:com.google.android.gms.DynamiteModulesB:162)
com.google.maps.api.android.lib6. impl.oc(:com.google.android.gms.DynamiteModulesB:75)
com.google.maps.api.android.lib6.impl.db.a(:com.google.android.gms.DynamiteModulesB:334)
com. google.android.gms.maps.model.internal.q.onTransact(:com.google.android.gms.DynamiteModulesB:204)
android.os.Binder.transact(Binder.java:387)
com.google.android.gms .maps.model.internal.zzf $ zza $ zza.zzL()com.google.android.gms.maps.model.Marker.setIcon()
co.com.spyspot.ui.content.sucursal.SucursalRender $ CustomSimpleTarget.onResourceReady (SucursalRender.java:156)co.com.spyspot.ui.content.sucursal.SucursalRender
$ CustomSimpleTarget.onResourceReady(SucursalRender.java:130)
com.bumptech.glide.request.GenericRequest.onResourceReady(GenericRequest.java:525)
com .bumptech.glide.request.GenericRequest.onResourceReady(GenericRequest.java:507)
com.bumptech.g lide.load.engine.EngineJob.handleResultOnMainThread(EngineJob.java:158)
com.bumptech.glide.load.engine.EngineJob.access $ 100(EngineJob.java:22)
com.bumptech.glide.load.engine.EngineJob $ MainThreadCallback .handleMessage(EngineJob.java:202)
android.os.Handler.dispatchMessage(Handler.java:98)
android.os.Looper.loop(Looper.java:148)
android.app.ActivityThread.main(ActivityThread.java:5443 )
java.lang.reflect.Method.invoke(Method.java)
com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:728)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java) :618)

和:

在此输入图像描述

一些项目配置

  • 我正在使用自定义渲染(SucursalRender extends DefaultClusterRenderer<Sucursal>)
  • 我正在像Glide一样下载Marker图标,就像我之前所说: Glide.with(context).load(id).fitCenter().placeholder(R.drawable.ic_no_image).into(simpleTarget);

simpleTarget是我处理Glide下载/缓存的图像的地方.我发布了所有代码,simpleTarget因为崩溃是从那里开始的:

private class CustomSimpleTarget extends …
Run Code Online (Sandbox Code Playgroud)

android google-maps android-maps-utils android-glide

47
推荐指数
5
解决办法
1万
查看次数

滑动不加载真实图像并停留占位符

我有一个来自服务器行代码的非常基本的加载映像:

Glide.with(view.getContext()).load(url).placeholder(R.drawable.default_profile).into(view);

出于某种原因,我总是坚持使用显示的占位符而不是真实的图像!

我已经确保传递了一个有效且有效的URL.并且,如果我在没有占位符的情况下使用相同的代码,它可以正常工作

Glide.with(view.getContext()).load(url).into(view);

有什么想法吗?

android android-glide

46
推荐指数
4
解决办法
4万
查看次数

您无法使用滑行为relativelayout图像中的已销毁活动启动加载

我使用relativelayout设置图像.为什么我没有使用imageview手段,在relativelayout图像内,我正在设置图标.

我不知道滑翔中究竟是什么问题.我已经发布了下面的堆栈跟踪和相关代码:

logcat的:

 FATAL EXCEPTION: main
   Process: com.app.steve, PID: 15928 
 java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity
   at com.bumptech.glide.manager.RequestManagerRetriever.assertNotDestroyed(RequestManagerRetriever.java:134)
   at com.bumptech.glide.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:102)
   at com.bumptech.glide.Glide.with(Glide.java:644)
                                                                    at com.app.steve.TabMorePagesDetailActivity$allPageDetails.onPostExecute(TabMorePagesDetailActivity.java:1050)
     at com.app.steve.TabMorePagesDetailActivity$allPageDetails.onPostExecute(TabMorePagesDetailActivity.java:885)
    at android.os.AsyncTask.finish(AsyncTask.java:632)
    at android.os.AsyncTask.access$600(AsyncTask.java:177)
   at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5221)
   at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Run Code Online (Sandbox Code Playgroud)

TabMorePagesDetailActivity.java:

RelativeLayout rlPageCoverImg;

rlPageCoverImg = (RelativeLayout)findViewById(R.id.rl_club_cover_img);

@Override
        protected void onPostExecute(String response) {
            super.onPostExecute(response);

            dialog.dismiss();
        ............

    String coverIMGurl = cover_avatar_obj.getString("url");

    Log.e("ImgURL", coverIMGurl);

 Glide.with(TabMorePagesDetailActivity.this).load(coverIMGurl).asBitmap().signature(new StringSignature(String.valueOf(System.currentTimeMillis())))
                                        .into(new SimpleTarget<Bitmap>(500, 500) {

    @Override
    public …
Run Code Online (Sandbox Code Playgroud)

android android-glide

46
推荐指数
4
解决办法
3万
查看次数

使用Picasso和Glide获取黑色ImageView

问题

我正在编写一个Android应用程序,它应该有一个"幻灯片"功能.我发现这个漂亮的图书馆,基于毕加索,完全符合我的要求,而且大多数时候它都运行得很好.

问题是,有时我的图像没有加载到幻灯片中ImageView...它只显示一个"黑色画布",你可以在下面的截图中看到.

在此输入图像描述

我从我的drawables加载本地资源的图像.有时它会在纵向模式下发生,有时在横向模式下发生.我使用哪个图像并不重要,有时会发生"黑度".

编辑:

  • 我正在使用Android 5.0.2和4.4.2 - 它似乎不会发生在4.4.2上.仅在5.0.2.

  • 它发生在带有Android 5.1的Moto X 2014上.

  • 我试图加载的图像在磁盘上有45KB,分辨率为900x445.

  • 我按照建议打开了布局,这些是结果:

单张幻灯片

它在滚动上保持这样.

在此输入图像描述

有时,它会变成白色而不是黑色(或白色,然后是黑色).

在此输入图像描述

我试过的其他东西:res/drawable当我将文件从该文件夹更改res/drawable-xxxhdpi为5.0.2设备上的滑块时,我的drawables位于文件夹中.跆拳道???

到目前为止我做了什么

我尝试了不同的图像,在幻灯片上加载多个图像,甚至这个拉取请求将Picasso更改为在lib上滑动.似乎没有任何作用,错误似乎是随机的.

一旦我尝试使用来自网络的URL而不是本地存储上的实际drawable,它就可以工作了.与完全相同的图像.

这是我加载图像的方式:

Fragment.java

private SliderLayout slider;
private PagerIndicator indicator;

// ...

private void setupSlider() {

    HashMap<String,Integer> file_maps = new HashMap<>();

    file_maps.put("Blah",R.drawable.banner_1);
    file_maps.put("Bleh",R.drawable.banner_2);
    file_maps.put("Blih",R.drawable.banner_3);
    file_maps.put("Bloh",R.drawable.banner_4);

    for (String name : file_maps.keySet()) {

        DefaultSliderView dsv = new DefaultSliderView(getActivity());

        dsv.description(name)
                .image(file_maps.get(name))
                .error(R.drawable.banner_error)
                .empty(R.drawable.empty)
                .setScaleType(BaseSliderView.ScaleType.Fit)
                .setOnSliderClickListener(this);

        //add your extra information
        dsv.bundle(new Bundle());
        dsv.getBundle()
                .putString("extra",name); …
Run Code Online (Sandbox Code Playgroud)

android imageview android-drawable picasso android-glide

42
推荐指数
1
解决办法
2877
查看次数

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

我在我的应用程序中使用Glide库内部自定义适配器视图.但我有错误:

"You must not call setTag() on a view Glide is targeting" 
Run Code Online (Sandbox Code Playgroud)

这部分代码:

 @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 LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
        holder.imageView .setLayoutParams(vp);
        holder.imageView .setScaleType(ImageView.ScaleType.CENTER_CROP);

        String var_news_article_images = imageIdList.get(getPosition(position));

        Glide.with(context)
                .load(var_news_article_images)
                .placeholder(R.drawable.placeholder)
               .into(holder.imageView);

               return view;
    }
Run Code Online (Sandbox Code Playgroud)

那怎么解决呢?

android android-glide

38
推荐指数
2
解决办法
2万
查看次数

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

我有这个问题 - 只是为了测试目的,我添加ParseFileParseObject收到列表中的一个.它不是仅显示在该行中,而是显示每4-5行,有时更多,有时更少.我认为回收视图与此有关.奇怪的是,其他数据(从这个例子中删除)适用于position变量.

@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);


        }

    }
Run Code Online (Sandbox Code Playgroud)

android parse-platform recycler-adapter android-recyclerview android-glide

37
推荐指数
1
解决办法
4万
查看次数

Glide听众不起作用

我正在使用Glide加载图像,我添加了一个监听器,以了解资源何时准备好或是否存在任何类型的错误:

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<String, GlideDrawable>() {
        @Override
        public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
            // do something
            return true;
        }

        @Override
        public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
            // do something
            return true;
         }
    })
    .into(mCustomImageView);
Run Code Online (Sandbox Code Playgroud)

该应用程序永远不会在内部运行onResourceReady,onException但如果我删除了侦听器并让异步下载没有回调,它运行正常:

Glide.with(mContext)
    .load(url)
    .placeholder(R.drawable.glide_placeholder)
    // use dontAnimate and not crossFade to avoid a …
Run Code Online (Sandbox Code Playgroud)

android callback imageview android-glide

35
推荐指数
5
解决办法
3万
查看次数

如何使用Glide将Image放入ImageView

我关心的是如何android:scaleType="fitXY"使用Glide将图像 融入图像.

我的ImageView

<ImageView
    android:id="@+id/img_pager"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:scaleType="fitXY" />
Run Code Online (Sandbox Code Playgroud)

像这样使用Glide加载图像

Glide.with(context).load(url).placeholder(R.drawable.default_image).into(img);
Run Code Online (Sandbox Code Playgroud)

但是图像不适合ImageView它在屏幕上显示的任何一侧显示空间我需要它fitXY

在此输入图像描述

android image android-layout android-glide

33
推荐指数
4
解决办法
5万
查看次数