ImageButton不显示特定的drawable

时间:2011-03-03 06:51:47

标签: android layout drawable imagebutton

这是我遇到的一个有趣的问题,

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

以下是更多内容:

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

    修改 原来是一个bug,这个问题已经解决了。请查看此link

7 个答案:

答案 0 :(得分:18)


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

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

答案 1 :(得分:5)

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

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

在我的情况下,图像不是目录中的第一个。我实际上有一个按字母顺序显示的图像,首先叫做about_icon.png - 奇怪的是显示正常。此外,图像的hdpi版本在hdpi设备中显示正常。

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

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

答案 2 :(得分:4)

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

答案 3 :(得分:2)

这篇文章相当陈旧,但我遇到了类似的问题。运行4.4.2我的图像按钮会正确显示一些图像,但其他图像会改变。比如我的白色" ic_camera.png"看起来像这样.... enter image description here

什么似乎随机将图像转换为黑暗的计数器部分。(我加倍检查我输入了正确的颜色)所有图像都来自Android Icon包。我尝试多次删除和复制所有图像无济于事。最后我只是更改了命名约定,放弃了所有的" ic"和" _" 使图像所有简单的单词和小写。 ie ..." camera.png"," upload.png"," newimage.png"

宾果! enter image description here

非常奇怪,但一个简单的修复。希望这有助于其他人!

干杯!

答案 4 :(得分:0)

对我而言,这是一个不同的问题。图像确实显示在nexus4和nexus5上,但没有显示nexus3。我将图像从2000px宽度缩小到1000px宽度并且像魅力一样工作。

答案 5 :(得分:0)

对于遇到此问题并且答案无效的任何人,您的图片尺寸可能无法满足设备目标尺寸...点击here以获得正确的尺寸。

答案 6 :(得分:0)

当您在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"/>

它对我有用。