Drawable not showing up

34,127

Solution 1

Seems like this is a bug with android, where sometimes the first image in the drawable folder doesn't show up. Added a dummy image called aaaa.png to the drawable folder and problem was solved. Found the answer here: ImageButton does not display a particular drawable

Solution 2

One of the reason is:

If you are using Vector file as a drawableLeft or drawableRight (or drawableStart or drawableEnd) in layout.xml, then you have to use androidx.appcompat.widget.AppCompatButton (formerly android.support.v7.widget.AppCompatButton) instead of Button.

Simple View like Button or Textview doesn't support Vector file as a drawableLeft or drawableRight (or drawableStart or drawableEnd) in my case.

Solution 3

Had the same issue and resolved it by removing all special characters. In my case it was dashes '-' in the filename:

background-720.png => background.png.

Solution 4

try to put the image in drawable-hdpi and drawable-mdpi folder depends on what device you run you app , the image is searched in these folders...

But puting in drawable means that the image should be available everywhere, but somethimes (depends on your manifest settings) this could not be true, I mean you can turn of the compatibility mode.

also you can try dinamically at run time to set the image to the view

iv.setImageResource(R.drawable.somethig);
Share:
34,127
odiggity
Author by

odiggity

Updated on July 09, 2022

Comments

  • odiggity
    odiggity almost 2 years

    I have a fairly simple xml file that has an image button in it. The image shows up fine on the Graphical Layout xml designer, shows up fine when I run a development build, but as soon as I create the signed apk file and run it, the image no longer shows up. It's just an empty button. I can't think of a reason why, any ideas? The xml file looks like this:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/navigation_root"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
    
        <TextView
            android:id="@+id/navigation_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="5dp"
            android:text="TextView"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    
        <SeekBar
            android:id="@+id/navigation_seekbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_weight="1"
            android:padding="5dp" />
    
        <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="5dp" >
    
            <ImageButton
                android:id="@+id/part_select_button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/chapter_select" />
    
            <Button
                android:id="@+id/navigation_ok_button"
                android:layout_width="75dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:text="@string/ok" />
    
            <Button
                android:id="@+id/navigation_cancel_button"
                android:layout_width="75dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:text="@string/cancel" />
        </LinearLayout>
    </LinearLayout>
    

    The image @drawable/chapter_select is a fairly small (41*41) png file that is in the res/drawable folder.