Different sized images (with the same name) in one

2019-05-31 05:27发布

I'm new to android programming and every single somewhat-similar question is from three or so years ago and doesn't really answer my question. Android Studio used to have different drawable folders for different dpi. Now there is only one. So if I have two images with the same name but for different dpi, where do I add them so that during runtime the phone can use the appropriate image?

Also, most android phones now are xhdpi or xxhdpi--do I really need to include any images less than that? And how exactly would I do that? Say, for example, that I get an image off shutterstock. How do I make it so it works correctly for both xhdpi and xxhdpi?

4条回答
虎瘦雄心在
2楼-- · 2019-05-31 06:02

Create the folders yourself as you need them. It's true that most phones now are xhdpi but what about your target audience? Are you sure their phones and tablets support xhdpi at minimum? There are some tablets such as the Galaxy Tab 2 which are below these values. Just something to keep in mind. Although, consider using layout-sw(x)dp for devices bigger than 600dpi

You'll have to resize them for the appropriate drawable. Use you should follow the 3:4:6:8:12:16 scaling ratio where 48x48 is the baseline. As an example, in order to support xxxhdpi your drawables would be 192x192

查看更多
够拽才男人
3楼-- · 2019-05-31 06:06

Actually Android Studio also has multiple drawable folders. But It remains wrapped in Project Structure's Android View.

So you see only one Drawable folder.

enter image description here

If you want to see all the drawable folders in expand mode then click on the drop down like below and select "Project":

enter image description here

Now you can navigate the drawable folders like this:

enter image description here

查看更多
Explosion°爆炸
4楼-- · 2019-05-31 06:10

Those folders have not gone anywhere, if you want them you simply create a new folder and name it appropriately ( drawable-xxhdpi etc.. )

Depending on IDE it just does not make them by default under certain circumstances

DENSITY SIZE    LOCATION            RATIO   SCREEN  MARGIN
XXXHDPI 192×192 drawable-xxxhdpi     4      640 DPI 12 to 16 pixels
XXHDPI  144×144 drawable-xxhdpi      3      480 DPI 8 to 12 pixels
XHDPI   96×96   drawable-xhdpi       2      320 DPI 6 to 8 pixels
HDPI    72×72   drawable-hdpi        1.5    240 DPI 4 to 6 pixels
MDPI    48×48   drawable-mdpi        1      160 DPI 3 to 4 pixels
MDPI    48×48   drawable (Cupcake)   1      160 DPI 3 to 4 pixels
LDPI    36×36   drawable-ldpi   0.75        120 DPI 2 to 3 pixels
NA  512×512 Google Play NA  NA  As required
查看更多
Evening l夕情丶
5楼-- · 2019-05-31 06:28

Android Studio used to have different drawable folders for different dpi.

It still does.

Now there is only one.

No, there are several. However, in the "Android" project view, they are shown in a collapsed state:

Android Studio, Android Project View

If you change the drop-down towards the top-left of that screenshot to "Project", you will get the view that you are used to, that mirrors the filesystem:

Android Studio, Project Project View

So if I have two images with the same name but for different dpi, where do I add them so that during runtime the phone can use the appropriate image?

The same place as before. Personally, I find the "Android" project view to be singularly useless, and so I switch to the "Project" view as one of the first things when I open the project.

most android phones now are xhdpi or xxhdpi

No, right now, only about a third are.

do I really need to include any images less than that?

I would. If you have a zillion drawables, you are welcome to experiment with having fewer densities, but you will want to test the lower densities to confirm that the downsampling of your drawables is turning out OK.

查看更多
登录 后发表回答