I have an ImageView that I want to display matching the full width of the device, I realized that like this:
<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" />
The home_bar is a PNG image file with the following dimensions: 2399x254. When I choose to view the Graphical Layout of the UI it displays the imageview correctly at the bottom of the activity. However, when I start the application on my device it won't display the Imageview at all.
I had the same issue, it is only showing in Design tab for Android Studio 2.2.
What I did to make it work is to change the automatic key assigned (populated via Drag/Drop ImageView) from app:srcCompat="@drawable/logo"
to android:src="@drawable/logo"
in Text tab to make it appear on both the emulator and the device e.g
<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" />
Alright I've tried changing the resolution of the image (cutting it in half making it 1000x130), and somehow that fixed the problem. I think Android can't render large images like that directly? I don't know, if you know more about the subject please don't hesitate to reply! Anyway, scaling down the image worked.
you can use:
android:background="@drawable/home_bar"
instead of:
android:src="@drawable/home_bar"
Use drawable-nodpi
folder in res
if image is too big.
I had a problem with a samsung phone not displaying my drawable but it worked fine on another phone. The picture was not in any large dimensions or otherwise abnormal.
To solve this I simply put my picture asset into a drawable subfolder instead of having it in the main drawable folder. E.g from res/drawable to res/drawable-mdpi worked for me. If you have a picture to use for everything not having a specific dpi, put it into res/drawable-nodpi. Here's a bit more about the dpi folders.