【问题标题】:How to display JPEG images for url starts with `http://` using Glide如何使用 Glide 以“http://”开头的 url 显示 JPEG 图像
【发布时间】:2020-01-19 07:16:10
【问题描述】:

以下代码适用于显示 PNG 图像,但不适用于 JPG 图像

GlideApp.with(playerBinding.ivLogoHomeTeam.context)
        .load("https://JPN-CR1@2x.png")
        .into(playerBinding.ivLogoHomeTeam)

XML:

<de.hdodenhof.circleimageview.CircleImageView
                android:id="@+id/iv_logo_home_team"
                android:layout_width="@dimen/match_item_team_logo"
                android:layout_height="@dimen/match_item_team_logo"
                android:layout_marginStart="@dimen/unit_dp_10"
                android:layout_marginLeft="@dimen/unit_dp_10"
                android:layout_marginEnd="@dimen/unit_dp_10"
                android:layout_marginRight="@dimen/unit_dp_10"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                tools:srcCompat="@drawable/ic_launcher_background" />

编辑:JPEG 图像适用于 HTTPS 图像,而 HTTP 图像不起作用。我们如何显示 HTTP 图像?

【问题讨论】:

  • 据我所知,它支持它,你能显示imageView XML代码吗?
  • @Lenoarod XML 添加。我尝试手动添加 jpg URL,仍然没有显示
  • 你能分享那个 jpg 图片的 URL 吗?
  • @johnrao07,jpg图片的url是https还是http?
  • @Lenoarod PNG 图片是 HTTPS,JPG 是 HTTP

标签: android android-glide


【解决方案1】:

这是Http 权限问题。您应该为 http 请求添加以下内容。

<application
android:usesCleartextTraffic="true"

/>

详情可以看我的这个answer

但我也给出了如何在 Glide 中找到错误。首先,您可以使用Gilde debug option 查找解决问题的信息。

如果您有权访问该设备,请运行此命令adb shell setprop log.tag.Glide DEBUG,它将记录成功和失败的请求以及不同级别的详细信息,具体取决于日志级别。可以拨打setLogLevel(int)设置等级。

您也可以使用监听器来查找异常错误。

Glide.with(fragment)
   .load(url)
   .listener(new RequestListener() {
       @Override
       boolean onLoadFailed(@Nullable GlideException e, Object model,    
         Log.e(TAG, "Load failed", e);
         return false; // Allow calling onLoadFailed on the Target.
       }

       @Override
       boolean onResourceReady(R resource, Object model, Target<R> target,
           DataSource dataSource, boolean isFirstResource) {
         // Log successes here or use DataSource to keep track of cache hits and misses.
         return false;
       }
    })
    .into(imageView);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-25
    • 1970-01-01
    • 2019-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多