ImageButton не отображает конкретный объект рисования - PullRequest
10 голосов
/ 03 марта 2011

Это довольно забавная проблема, с которой я когда-либо сталкивался,

У меня есть макет таблицы с 9 кнопками изображений, по 3 на строку.С каждым ImageButton связано другое изображение.Я установил фон кнопки изображения прозрачным (# 00000000).Теперь вот, где происходят забавные вещи. Одно из изображений не отображается на эмуляторе (Gingerbread), а также на устройстве с Froyo.Редактор макета показывает все изображения на месте.

Вот еще кое-что:

  1. Я использовал RelativeLayout вместо TableLayout, та же проблема сохраняется.
  2. Я изменил положение изображения (использовал его на разных кнопках), и все равно он не отображается.
  3. Когда я использую другое изображение, они появляются, но когда я использую этот конкретныйизображение не будет.
  4. Все изображения имеют одинаковое разрешение (90x72) и плотность (72ppi)
  5. Все изображения находятся в папке drawable-mdpi.

Какие-нибудь указатели?

РЕДАКТИРОВАТЬ Оказалось, что это ошибка, и эта проблема была решена.Пожалуйста, проверьте эту ссылку .

Ответы [ 7 ]

18 голосов
/ 15 марта 2011


У вас все еще есть проблема. У меня была похожая ошибка - какой-то конкретный чертеж не отображался, независимо от того, что ImageView.
Это тот случай, когда ваше изображение является первым (в алфавитном порядке) в папке для рисования? По какой-то странной причине возникла проблема с первым элементом drawable, я «решил» свою проблему, добавив вначале фиктивный файл drawable. Тем не менее мне очень любопытно, где настоящая проблема.

Надеюсь, это поможет! И я с нетерпением жду каких-либо дальнейших объяснений:)

5 голосов
/ 08 сентября 2011

Я могу подтвердить добавление фиктивного изображения, которое отображается в алфавитном порядке, - это исправление.

У меня было изображение (под названием about.png, разумеется, в верхней части папки для рисования), которое не отображалось, когда использовалось тестовое устройство mdpi.

В моем случае, однако, изображение не было первым в каталоге. У меня на самом деле было изображение, которое в алфавитном порядке отображалось первым, называемое about_icon.png - которое странно отображалось нормально. Кроме того, версия hdpi изображения отображалась нормально в устройстве hdpi.

Я добавил фиктивное изображение-заполнитель под названием "aaaa.png", и теперь mdpi об изображении хорошо отображается на устройстве.

Очень странная и, честно говоря, довольно паршивая ошибка.

4 голосов
/ 14 марта 2017

Попробуйте использовать android:src="@drawable/my_resource" вместо app:srcCompat="@drawable/my_resource".

2 голосов
/ 29 марта 2014

Это сообщение довольно старое, однако у меня возникла похожая проблема.При запуске 4.4.2 мои кнопки отображают некоторые изображения правильно, а другие - меняются.Например, мой белый «ic_camera.png» выглядел бы так: enter image description here

То, что казалось случайным образом превращает изображения в их темную контр-часть.в) Все изображения взяты из пакета Android Icon.Я пытался удалить и скопировать обратно все изображения несколько раз, но безрезультатно.Наконец я просто изменил соглашение об именах, отбросив все "ic" и "_" , чтобы на изображениях были все простые слова и строчные буквы.то есть ... "camera.png", "upload.png" и "newimage.png"

БИНГО!enter image description here

Очень странное, но простое исправление.Надеюсь, это поможет кому-то еще!

Ура!

0 голосов
/ 18 июня 2017

Когда вы делаете это в 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"/>

У меня это сработало.

0 голосов
/ 06 января 2017

Если кто-то ответит на этот вопрос и ответ не будет работать, размер вашего изображения может не соответствовать целевому размеру устройств ... нажмите здесь , чтобы получить правильные размеры.

0 голосов
/ 07 февраля 2014

Для меня это была другая проблема. Изображения были показаны на nexus4 и nexus5, но не на nexus3. Я уменьшил изображение с ширины 2000 пикселей до ширины 1000 пикселей и работал как шарм.

...