ImageView 显示灰色方块而不是图像

Joh*_*hny 2 android imageview android-imageview android-glide

在此输入图像描述

我尝试了几种不同的方法,但图像视图仍然只显示灰色方块。我正在 API 17 上进行测试。

以下是我尝试过但未成功的选项:

  • 将 XML 中的 ImageView 配置为:

  • 固定宽度和高度;宽度和高度为wrap_content;宽度为match_parent,高度为wrap_content

  • android:scaleType为“fitXY”和“centerCrop”
  • android:将ViewBounds调整为true | 错误的;

尝试过的图像加载方法:

binding.captcha.setImageBitmap (BitmapFactory.decodeFile (imgFile2.getAbsolutePath ()));
Run Code Online (Sandbox Code Playgroud)

还尝试了这个答案/sf/answers/2508156031/

尝试过滑行:

    Glide.with(this)
    .load (Uri.fromFile (imgFile2))
    .skipMemoryCache (true)
    .diskCacheStrategy (DiskCacheStrategy.NONE)
    .override (150, 150)
    .centerCrop ()
    .into (binding.captcha);
Run Code Online (Sandbox Code Playgroud)

下面的选项是唯一显示图像(在背景中)的选项,但是我想知道可能会发生什么来阻止我使用默认方法显示图像......

    Drawable drawableImage = new BitmapDrawable(BitmapFactory.decodeFile(imgFile2.getAbsolutePath()));
    binding.captcha.setBackgroundDrawable(drawableImage);
Run Code Online (Sandbox Code Playgroud)
  • 笔记:
  • imgFile2 不为空,它是从 SD 卡加载的。
  • imgFile2 显示我是否将其用作背景,因此问题不在于该文件。
  • 这个问题不是简单地用 lib 解决的,我已经在尝试 Glide...但是如果你知道我需要做什么才能让它与 glide 一起工作...
  • 如果重要的话,imageView 位于片段内。

当前的 XML:

        <ImageView
            android:layout_width="150dp"
            android:layout_height="150dp"
            android:layout_centerHorizontal="true"
            android:id="@+id/captcha"/>
Run Code Online (Sandbox Code Playgroud)

Sus*_*ram 5

对于那些仍然面临这个问题的人来说,对我来说,这是由于我使用 Glide 将图像设置为android:tint属性造成的。ImageView

android:tint当实际图像从 url 加载时,我显示了一个带有灰色阴影的虚拟占位符图像。而这种色调就是造成问题的原因。

因此,请尝试在使用加载图像后将属性全部删除android:tint或以编程方式将色调设置为空imageView.setImageTintList(null)

希望能帮助到你