Where to store images in Android drawables folder?

时光毁灭记忆、已成空白 提交于 2019-12-05 06:42:25

问题


I am working on Android application that should support 2.1 till latest Android OS (4.2) version. Currently I have few images to display in my image-gallery module. I need to support my app on all devices (smartphone and tablet) which support OS ranging from 2.1 to 4.2 (latest).

Each image is roughly of size 368X387, 50 KB each, PNG type

My workspace res contains following drawable folders:

drawable-hdpi
drawable-ldpi
drawable-mdpi
drawable-xdpi

I have some confusion around

  1. In which folder should I store the images, and how will that matter?

  2. Do I need to have different resolution based images for different type of devices?

Thanks.


回答1:


You can store images only in 1 folder BUT, for example you have device that is mdpi.. it will look good on him, but if you run your app on ldpi android will automatically scale your image and it will look ugly (low quality). So yea you need different resolution based images for different types of devices.. so mdpi resolution images go to drawable-mdpi so hdpi resolution images go to drawable-hdpi etcc..

this is some list i found on internet about screen sizes, maybe you will find it helpful:

Low density Small screens QVGA 240x320 (120dpi):

layout-small-ldpi (240x320)  
layout-small-land-ldpi (320x240)

Low density Normal screens WVGA400 240x400 (x432) (120dpi):

layout-ldpi  (240 x 400 )
layout-land-ldpi  (400 x 240 )

Medium density Normal screens HVGA 320x480 (160dpi):

layout-mdpi (320 x 480 )
layout-land-mdpi (480 x 320 )

Medium density Large screens HVGA 320x480 (160dpi):

layout-large-mdpi (320 x 480 )
layout-large-land-mdpi (480 x 320)

Galaxy Tab ( 240 dpi ):

layout-large  (600 x 1024) 
layout-large-land  (1024 x 600)

High density Normal screens WVGA800 480x800 (x854) (240 dpi):

layout-hdpi (480 x 800)
layout-land-hdpi (800 x 480)

Xoom (medium density large but 1280x800 res) (160 dpi):

layout-xlarge (800 x 1280)
layout-xlarge-land (1280 x 800)

Also it would be good to read official documents site about supporting different types of screen.




回答2:


There are four folder in resource folder 1- drawable-hdpi 2-drawable-ldpi 3-drawable-mdpi 4-drawable-xdpi

To declare different layouts and bitmaps you'd like to use for different screens, you must place these alternative resources in separate directories/folders. This means that if you generate a 200x200 image for xhdpi devices, you should generate the same resource in 150x150 for hdpi, 100x100 for mdpi, and 75x75 for ldpi devices.

Then, place the files in the appropriate drawable resource directory: as per your need




回答3:


if you want to use same images for all types of screen then you can make an other folder named "drawable" and put all images in that folder. it would work as default drawable.

but if you want to improve image quality on all resolutions. then you need all 4 types images and put then on their respective folder with same image name. you can also make differ XMLs for each resolution.




回答4:


See this http://developer.android.com/training/multiscreen/screendensities.html

You can put a particular image in all folders.

drawable-hdpi
             ---->img.png
drawable-ldpi
             ---->img.png
drawable-mdpi

             ---->img.png
drawable-xdpi

          ---->img.png

It all depends on your os .it ll take by default according to device resolution .




回答5:


In android we have "Res" folder is nothing but resources folder.Inside this res folder we have other sub folders but for storing images we have four types of folders names are called: drawable-hdpi for High density screens and its resolutions is 480*800
drawable-ldpi for Low density screens and its resolutions is 240*320
drawable-mdpi for Medium density screens and its resolutions is 320*480
drawable-xdpi for Xtra density density screens and its resolutions is 640*960

If you want to match image for multiple screens my suggestion is to use

Nine patch image rather than .png and .bmp for creating nine patch image http://developer.android.com/tools/help/draw9patch.html



来源:https://stackoverflow.com/questions/15809827/where-to-store-images-in-android-drawables-folder

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!