Отображение ImageView в макете, но не на самом устройстве
У меня есть ImageView, который я хочу отобразить, сопоставляя всю ширину устройства, я понял, что вот так:
<ImageView
android:id="@+id/home_bar_newvault"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:scaleType="centerCrop"
android:layout_alignParentBottom="true"
android:src="@drawable/home_bar" />
Home_bar - это файл изображения PNG со следующими размерами: 2399x254. Когда я выбираю просмотр графического макета пользовательского интерфейса, он отображает изображение правильно в нижней части действия. Однако, когда я запускаю приложение на своем устройстве, он вообще не отображает Imageview.
Ответы
Ответ 1
Хорошо, я попытался изменить разрешение изображения (разрезая его наполовину, сделав его 1000x130), и как-то это устранило проблему. Я думаю, что Android не может отображать большие изображения, подобные этому прямо? Я не знаю, если вы знаете больше о предмете, пожалуйста, не стесняйтесь отвечать! Во всяком случае, уменьшилось изображение.
Ответ 2
У меня была такая же проблема, она отображается только на вкладке "Дизайн" для Android Studio 2.2.
Что я сделал, чтобы заставить его работать, - изменить назначенный автоматический ключ (заполненный с помощью 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" />
Ответ 3
вы можете использовать:
android:background="@drawable/home_bar"
вместо:
android:src="@drawable/home_bar"
Ответ 4
Используйте папку drawable-nodpi
в res
если изображение слишком большое.
Ответ 5
У меня была та же проблема, и я смог решить ее, используя следующую.
Моя проблема заключалась в том, что направление извлекаемого архива было scrCompact
во втором поле scrCompact
.
Я вставил копию в поле up, и проблема решена.
![enter image description here]()
Ответ 6
У меня была проблема с телефоном Samsung, который не отображал мой drawable, но он работал нормально на другом телефоне. Картинка не была в каких-то больших размерах или иным образом ненормальной.
Чтобы решить эту проблему, я просто помещаю свой ресурс изображения в прорисовываемую подпапку, а не помещаю его в основную папку для рисования. Например, от res/drawable до res/drawable-mdpi сработало для меня. Если у вас есть картинка для всего, у кого нет определенного dpi, поместите его в res/drawable-nodpi. Вот еще немного о папках dpi.
Ответ 7
Ничто из вышеперечисленного не сработало, это было действительно большое изображение, нашло это решение: в вашем файле манифеста
<application
//this solve it for me.
android:hardwareAccelerated="false"
// Add this if the previuos line didn't solve tge problem
android:largeHeap="true"
android:theme="@style/AppTheme">
Решите это для меня.
Надеюсь, это кому-нибудь поможет.
Ответ 8
Для меня проблема заключалась в том, что я использовал
tools:src=...
а не
android:src=...
Он генерируется автоматически при попытке использовать уже существующее изображение шаблона.