Вопрос:
Как вы можете видеть ниже, это показывает Android Studio:
Однако, когда я запускаю это приложение на своем телефоне, просмотр списка показывает только пустое изображение (т.е. пробел) над ним, где должно находиться “где-то над радугой”.
Режим просмотра отлично работает. Он состоит из одного изображения и двух текстовых представлений. (Это представление изображения работает, если оно помогает). Если что-то из этого возможно вмешивается, я отправлю код здесь, но мне трудно поверить.
Единственное, о чем я не знал, – это использовать относительный вид при определении ячеек для представления списка в отдельном XML файле. Я не понимаю, почему нет, но это единственное, о чем я мог подумать.
В основном Android-студия показывает все, что работает, но на телефоне/эмуляторе это не так. Следовательно, мне очень трудно найти проблему.
Я новичок в сценарии разработки Android, поэтому легко на меня.
ИЗМЕНИТЬ
Изображение имеет формат .png и находится в папке с возможностью перемещения. У меня также есть другое .png изображение в папке с возможностью переноса, которая, похоже, не вызывает проблем. Почему это так? Исходное изображение явно не повреждено, поскольку оно отображается в Android Studio
Решение
При перемещении изображения в папку “mipmap-xxhdpi” из-за размера
Лучший ответ:
Сегодня я нашел такую же проблему. Поэтому сначала проверьте высоту и ширину изображения и на основе этого поместите изображение в другую папку. i.e Если размер изображения составляет 1280 x 840, чем положить изображение в папку drawable-xxhdpi.
Ответ №1
Я наткнулся на ту же проблему и нашел ответ ниже:
(Источник: qaru.site/questions/378674/…)
Что я сделал, чтобы заставить его работать, – изменить назначенный автоматический ключ (заполненный с помощью Drag/Drop ImageView) с app:srcCompat=»@drawable/logo» до android:src=»@drawable/logo» на вкладке “Текст”, чтобы он отображался как на эмуляторе, так и на устройстве, например
<ImageView android:layout_width=»wrap_content» android:layout_height=»wrap_content» android:src=»@drawable/logo» android:layout_alignParentTop=»true» android:layout_centerHorizontal=»true» android:layout_marginTop=»75dp» android:id=»@+id/logoImageView» android:scaleType=»fitXY» android:scaleX=»1.5″ android:scaleY=»1.5″ /> Ответ №2
Недавно у меня был такой же вопрос, можете ли вы проверить, в какой папке он находится. Для меня проблема заключалась в том, чтобы поместить его в папку с возможностью переноса, в то время как он должен быть drawable-nodpi
Также укажите, какое устройство вы видите эту проблему, это несколько устройств?
Изображение не отображается на HTC One M8
Вот соответствующие ответы.
Ответ №3
Я могу подтвердить, что размещение больших изображений в более высокой папке HDPI работает на Samsung Galaxy S4 при просмотре изображений.
Проблема была в том, что доступная папка для более высокого HDPI не существовала.
Но если вы создадите новую папку и назовите ее drawable-xxhdpi или
drawable-(whateverxxxhdpi), поместите его в [path to your project folder]appsrcmainres, затем разместите свое изображение там, оно должно работать.
Ответ №4
Был задан более ранний дублированный вопрос (у меня недостаточно очков, чтобы поставить флаг выше, как дубликат) здесь, а предложение Лукапа о том, папка drawable-hdpi работала для меня. По-видимому, использование стандартных трех папок (-hdpi, -mdpi, -ldpi) было стандартной практикой.
Помещение изображения в любую из папок mipmap также работало для меня (а затем, конечно, меняя android:src=»@drawable/image» на android:src=»@mipmap/image»), страницу разработчика Android для Ресурсы приложений говорит, что ресурсы mipmap предназначены для “Жестких файлов для разных размеров значков пусковой установки”. Таким образом, размещение изображений, отличных от значков запуска в папке mipmap, кажется, работает, но не соответствует соглашениям Android.
Мне кажется, что ошибка для изображения не отображается, когда в единственной доступной доступной папке/папке, поскольку другие рекомендуют использовать выпадающую папку для всех изображений, которые не являются значками приложений. На странице “Разработчик Android” для “Предоставление ресурсов” есть раздел, в котором обсуждается подход, который Android использует для выбора наилучших подходящих ресурсов, используя пример, в котором несколько доступны доступные ресурсы.
Чтобы продемонстрировать, как Android выбирает альтернативный ресурс, предположим, что следующие доступные каталоги содержат разные версии одинаковые изображения:
вытяжка/
рисую-о/
рисуем-фр-РКА/
рисуем-ан-порт/
рисуем-ан-NoTouch-12key/
рисуем-порт-ldpi/
drawable-port-notouch-12key/И предположим, что устройство Конфигурация:
Локаль = en-GB
Ориентация экрана = порт
Плотность пикселей экрана = hdpi
Сенсорный экран = notouch
Метод ввода основного текста = 12keyСравнивая конфигурацию устройства с доступной альтернативой ресурсов, Android выбирает чертежи из drawable-en-port.
Если есть только одна папка с возможностью вырезания/выбора, вы можете подумать, что “логика” андроида будет выбирать единственный доступный ресурс, который можно использовать.
Ответ №5
если вы используете android:src или app:srcCompat вместо android:background:
android:background=»@drawable/your_image» Ответ №6
У меня была эта проблема, и я решил ее, добавив это в свой код imageView xml
android:adjustViewBounds=»true» Ответ №7
У меня была похожая проблема. мое изображение отображалось на изображении, но не отображалось на моем устройстве Android…
Я изменился
tools:srcCompat=»@drawable/ic_wifi»
и заменил его
app:srcCompat=»@drawable/ic_wifi»