【问题标题】:ImageButton does not display a particular drawableImageButton 不显示特定的可绘制对象
【发布时间】:2011-03-03 06:51:46
【问题描述】:

这是我曾经遇到过的一个相当有趣的问题,

我有一个包含 9 个图像按钮的表格布局,每行 3 个。每个 ImageButton 都有与之关联的不同图像。我已将图像按钮的背景设置为透明(#00000000)。现在发生了有趣的事情,其中​​一个图像没有显示在模拟器(姜饼)以及运行 Froyo 的设备上。布局编辑器显示所有图像。

这里还有一些东西:

  1. 我使用了RelativeLayout 而不是TableLayout,同样的问题仍然存在。
  2. 我更改了图像的位置(在不同的按钮上使用它),但它仍然没有显示出来。
  3. 当我使用不同的图像时,它们会显示出来,但当我使用这个特定的图像时,它不会。
  4. 所有图片都具有相同的分辨率 (90x72) 和密度 (72ppi)
  5. 所有图片都在drawable-mdpi 文件夹中。

任何指针?

编辑 原来是一个错误,这个问题已经解决。请检查此link

【问题讨论】:

  • 将图像移动到“drawable”文件夹?显然问题出在图像中
  • 我做不到。我有密度特定的图像。目前我正在研究mdpi。没有理由只隐藏一张图像,而其他图像则正常。
  • 但您可以尝试将图像复制(而不是移动)到可绘制对象中,看看问题是否仍然存在。你能在 LayoutEditor 中看到你的图片吗?
  • 是的,我可以在布局编辑器上看到图像(我说的只是一个导致问题的特定图像),我已经提到过它。我尝试将图像复制并移动到“drawable”文件夹,但没有用。还是一样的:(
  • 只是一个想法。你的图片不是选择器?!您是否尝试过其他 android 版本(1.5、1.6、2.1)?

标签: android layout drawable imagebutton


【解决方案1】:


你还有问题吗。我有一个类似的错误 - 无论ImageView是什么,都没有显示特定的drawable。
您的图像是否是可绘制文件夹中的第一个(按字母顺序)?出于某种奇怪的原因,第一个可绘制对象存在问题,我通过首先添加一个虚拟可绘制对象来“解决”我的问题。我仍然很好奇实际问题在哪里。

希望有帮助!我期待着任何进一步的解释:)

【讨论】:

  • 是的,我还是有这个问题。让我看看你说了什么,我会报告这件事。感谢您的宝贵时间。
  • 非常感谢@abikov。正如你所说。现在我有一个虚拟的drawable。一切正常。这让我发疯了好几天。非常感谢。
  • 很高兴我能帮上忙。但是我不确定这个问题是从什么时候开始出现的,但我仍然很感兴趣。
  • 在几个应用程序中遇到了同样的问题。感谢上帝,我找到了遇到类似问题的人:)
  • 此错误记录为问题 20283:code.google.com/p/android/issues/detail?id=20283
【解决方案2】:

我可以确认添加一个按字母顺序显示第一个的虚拟图像是一个修复。

当使用的测试设备是 mdpi 时,我有一张图片(标题为 about.png,所以当然靠近可绘制文件夹的顶部)没有显示。

不过,就我而言,该图像不是目录中的第一个。我实际上有一个按字母顺序显示的图像,首先称为 about_icon.png - 奇怪的是它显示得很好。此外,图像的 hdpi 版本在 hdpi 设备中显示良好。

我添加了一个名为“aaaa.png”的虚拟占位符图像,现在关于图像的 mdpi 在设备中显示正常。

非常奇怪,老实说,这是一个非常糟糕的错误。

【讨论】:

    【解决方案3】:

    尝试使用android:src="@drawable/my_resource",而不是app:srcCompat="@drawable/my_resource"

    【讨论】:

      【解决方案4】:

      这篇文章相当老了,但是我遇到了类似的问题。运行 4.4.2 我的 imagebutton 会正确显示一些图像,但其他图像会改变。例如我的白色“ic_camera.png”看起来像这样......

      似乎随机地将图像变成了它们的深色对应部分。(我检查了两次和三次检查我是否输入了正确的颜色)所有图像都来自 Android 图标包。我尝试多次删除并复制所有图像均无济于事。最后,我只是更改了命名约定,删除了所有的“ic”和“_”,以便图像中的所有简单单词和小写字母。即...“camera.png”、“upload.png”和“newimage.png”

      宾果游戏!

      很奇怪但很简单的解决方法。希望这对其他人有帮助!

      干杯!

      【讨论】:

      • 哦,伙计,这正是我的情况的原因,你为我节省了数小时的诅咒......我永远不会想出这个......谢谢!
      • 这是我的问题。从 hamburger-white.png 重命名为 hamburger_white.png 解决了这个问题。如果我在 xml 中查看布局,即使图像显示在预览边距中也是如此!
      【解决方案5】:

      对于任何提出此问题但答案无效的人,您的图像尺寸可能不符合设备的目标尺寸...点击here 以获得正确的尺寸。

      【讨论】:

        【解决方案6】:

        对我来说,这是一个不同的问题。这些图像确实显示在 nexus4 和 nexus5 上,但没有显示在 nexus3 上。我将图像从 2000 像素宽度缩小到 1000 像素宽度,效果非常好。

        【讨论】:

          【解决方案7】:

          当您在 DESIGN PANEL 中执行此操作时,您会得到如下内容:

          <ImageButton
                  android:id="@+id/translate_button"
                  android:layout_width="80dp"
                  android:layout_height="80dp"
                  android:layout_centerHorizontal="true"
                  android:layout_centerVertical="true"
                  android:srcCompat="@drawable/translate_button"/>
          

          将最后一行手动改成:

          <ImageButton
                  android:id="@+id/translate_button"
                  android:layout_width="80dp"
                  android:layout_height="80dp"
                  android:layout_centerHorizontal="true"
                  android:layout_centerVertical="true"
                  android:background="@drawable/translate_button"/>
          

          它对我有用。

          【讨论】:

          • 低端设备如android v4.3的问题
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-01-02
          • 1970-01-01
          • 2017-01-30
          • 1970-01-01
          • 2011-11-20
          • 2011-09-10
          相关资源
          最近更新 更多