Android : Understanding drawable folder

52,758

Solution 1

By default Android maintain three folders for the images with different resolution reason behind it is the use or the resolution of the Android Device on which the application gonna execute.

hdpi image folder maintain images for the Android Broad Screen set or Android Phones with the Higher resolution.

ldpi for Lower images quality which supports by the earlier sets of the android

mdpi for medium images support xhdi images folder for devices with maximum resolution.

Android OS select the image it self by checking the compatible device and its resolution.

Hope it helps. Accept if you get your explanation.

Solution 2

The folder names need to be :

  • /drawable-ldpi For low density screens
  • /drawable-mdpi For medium density screens
  • /drawable-hdpi For high resolution screens
  • /drawable-xhdpi For extra high resolution screens

/drawable should be reserved for assets that you either (1) don't care about which device or for (2) xml drawable assets

Then on top of that you can provide different resources based on configuration by using config qualifiers, you can read all about it here http://developer.android.com/guide/topics/resources/providing-resources.html

for instance, you can have high resolution assets for landscape with a folder

  • /drawable-land-hdpi

Hope that helps

Solution 3

drawable-ldpi

drawable-mdpi

drawable-hdpi

drawable-xhdpi

drawable-tvdpi

drawable-nodpi

drawable-xxhdpi

drawable-xxxhdpi

We can also use "drawable-xxhdpi"
xxhdpi (480dpi, Android 4.1 or later)

Refer "Android Tabular Column" in the following link

http://en.wikipedia.org/wiki/Smartphone

Please refer "Table 1" in the following link (xxxhdpi)

http://developer.android.com/guide/practices/screens_support.html#xxxhdpi-note

Note: the drawable-xxxhdpi qualifier is necessary only to provide a launcher icon that can appear larger than usual on an xxhdpi device. You do not need to provide xxxhdpi assets for all your app's images.

Note will be in the following link http://developer.android.com/design/style/iconography.html#xxxhdpi-launcher

Solution 4

actually there are 4 screen resolution standards - check this link for more information http://developer.android.com/guide/practices/screens_support.html , the table below. When you install your app on device, the device return one of these standards and pick the resources from the corresponding folder - ldpi, mdpi, hdpi and xhdpi

Solution 5

You should use drawable-hdpi folder instead of drawable-large.

Also Supporting Multiple Screens page may be helpful for you

Share:
52,758
SANDHYA
Author by

SANDHYA

NEWBIE TO ANDROID

Updated on July 09, 2022

Comments

  • SANDHYA
    SANDHYA almost 2 years

    I have an image with dimensions 250*70 pixels under drawable folder (I'm just starting out in Android development, so i created drawable folder in res) and I have the same image with higher dimensions in drawable-large folder; but the image is not looking as I expected.

    Can anyone explain the reason behind/purpose of 3 drawable folders?

    Where should I store my image so that it displays properly in both modes (landscape & portrait) and in all the mobiles (including tablets)?

    I want my image to scale dynamically to the size of the device screen.

    Can anyone share your views or links to search ?

  • cjayem13
    cjayem13 over 9 years
    if you have a phone thats xhdpi loading an image 100px wide at 320 dpi, that image at mdpi (160) is 50px right? if my phone is xhdpi and my tablet is mdpi, then how do I get an image to appear larger if the screen density is lower? Do I need two image.png's? image_phone.png and image_tablet.png? Would I store this in drawable - xlarge - mdpi? If so, wouldn't this mean I would need nearly 32 folders in order to support mdpi,hdpi,xhdpi,xxhdpi,small,normal,large,xlarge (3.2 below), and sw320dp, sw480dp, sw600dp, sw780dp? Where am I going wrong?
  • portfoliobuilder
    portfoliobuilder almost 9 years
    These days everyone's min sdk target is 15 or greater, which means ldpi, mdpi and hdpi folders aren't even looked at. My suggestion is to exclude drawables in these folders. Really, unless you have very small-tiny-detailed assets, you can get away with only placing drawables in xhdpi and save yourself some space.
  • Sakthimuthiah
    Sakthimuthiah almost 9 years
    If user wants to save space then user can use "Nine Patch" images. Because this will save a lot of space
  • sami_analyst
    sami_analyst over 7 years
    can I put all images into the same folder, but give them the appropriate endings ? like xxx_ldpi.png, xxx_mdpi.png, xxx_hdpi.png, ......