ImageButton не отображает определенную возможность рисования
Это довольно забавная проблема, с которой я когда-либо сталкивался,
У меня есть таблица с 9 кнопками изображения, по 3 строки. У каждого ImageButton есть другое изображение, связанное с ним. Я установил фон кнопки изображения прозрачным (# 00000000). Теперь вот где происходит забавный материал. Одно из изображений не отображается на эмуляторе (Gingerbread), а также устройство, на котором работает Froyo. Редактор макета показывает все изображения на месте.
Вот еще несколько вещей:
- Я использовал
RelativeLayout
вместо TableLayout
, эта же проблема сохраняется.
- Я изменил положение изображения (использовал его на разных кнопках), и все же он не отображается.
- Когда я использую другое изображение, которое они отображают, но когда я использую этот конкретный образ, это не будет.
- Все изображения имеют одинаковое разрешение (90x72) и плотность (72ppi)
- Все изображения находятся в папке
drawable-mdpi
.
Любые указатели?
ИЗМЕНИТЬ
Оказалось, что это ошибка, и эта проблема решена. Проверьте эту ссылку .
Ответы
Ответ 1
У вас все еще есть проблема. У меня была подобная ошибка - конкретный доступный не отображался, независимо от того, что ImageView
.
Это так, что ваш образ является первым (в алфавитном порядке) в папке с возможностью переноса? По какой-то странной причине возникает проблема с первой способной, "решенной" проблемой, с добавлением фиктивного вывода на первое место. Тем не менее мне очень любопытно, где проблема.
Надеюсь, это поможет! И я с нетерпением жду дальнейших объяснений:)
Ответ 2
Я могу подтвердить добавление фиктивного изображения, которое отображает первую букву в алфавитном порядке.
У меня было изображение (под названием about.png, так, конечно, рядом с верхней частью выпадающей папки), которое не отображалось, когда используемое тестовое устройство было mdpi.
В моем случае, однако, изображение не было первым в каталоге. На самом деле у меня был образ, который в алфавитном порядке сначала назывался about_icon.png - который, как ни странно, выглядел отлично. Кроме того, hdpi-версия изображения хорошо отображалась в устройстве hdpi.
Я добавил фиктивное изображение заполнителя под названием "aaaa.png", и теперь mdpi об изображении отображается в устройстве.
Очень странно, и, честно говоря, довольно паршивая ошибка.
Ответ 3
Попробуйте использовать android:src="@drawable/my_resource"
вместо app:srcCompat="@drawable/my_resource"
.
Ответ 4
Этот пост довольно старый, но у меня возникла аналогичная проблема. Выполняя 4.4.2, мое изображение будет показывать некоторые изображения правильно, но другие будут меняться. Например, мой белый "ic_camera.png" будет выглядеть следующим образом. ![enter image description here]()
Что казалось случайным образом превратить изображения в их темную часть счетчика. (Я дважды и трипл проверял, что я вставляю нужный цвет). Все изображения взяты из пакета значков Android. Я пробовал удалять и копировать все изображения несколько раз безрезультатно. Наконец, я просто изменил соглашение об именах, сбросив все "ic" и "_" , чтобы изображения, где были все простые слова и строчные буквы. т.е.... "camera.png", "upload.png" и "newimage.png"
BINGO!
![enter image description here]()
Очень странно, но просто исправить. Надеюсь, это поможет кому-то еще!
Ура!
Ответ 5
Для меня это была другая проблема. Изображения отображались на nexus4 и nexus5, но не на nexus3. Я уменьшил изображение с ширины 2000 пикселей до ширины 1000 пикселей и работал как шарм.
Ответ 6
Для тех, кто подходит к этому вопросу, и ответ не работает, ваш размер изображения может не соответствовать целевому размеру устройств... нажмите здесь, чтобы получить правильные размеры.
Ответ 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"/>
Это сработало для меня.