I'm wondering what drawable directory the Samsung Galaxy Note 8 will pull from running Android apps?
The device is 521 ppi. xxhdpi is for ~480 ppi and xxxhdpi is for ~640 ppi, so I'm assuming it will be one or the other.
The Galaxy Note 8 is an xxhdpi device.
Related
Why different layouts are selected by android studio emulator and real android device mate 9?
Huawei Mate 9 is 1080 x 1920 px device with a 5.99 inch display (its an xhdpi type device) and Samsung galaxy S9 is 1080 x 2220 px device with 5.8 inch display (its an xxhdpi device).
Now, my problem is that I do have a separate xxhdpi layout for Samsung S9 device and xhdpi layout for Mate 9 device. The android studio emulator is selecting the correct layouts for corresponding devices but real Mate 9 device is selecting xxhdpi layout at runtime. This is resulting in improper alignment of components in my app. Why this problem is arising and what is its solution?
Someone here please help me out.
Thanks
Is there a way to create a drawable folder and a values folder to 420 dpi and 560 dpi devices? One for the 420 dpi and one for 560 dpi.
420dpi: Samsung Galaxy S5, S4, LG G5, ...
560dpi: Nexus 6, Samsung S6, S7, ...
Because in those type of devices my app not looks well. Images in drawable-xxhdpi are smaller in a device with 420 dpi. Because multiplies the width of the image x 2,625 (density). I need bigger images or multiply images x 3.
The solution that I've found is to create a drawable-420dpi and a drawable-560dpi folder and copy xxhdpi and xxxhdpi resources respectively.
I'm not sure that this is the best solution but It works on PIXEL XL, Nexus 5X, 6 and 6p simulators.
This is very frustrating for developers and designers too.
If you using Android Studio, you can easily create a folder width name: mipmap-420dpi and mipmap-560dpi in the folder that same with folders as mipmap-hdpi, mipmap-mdpi, mipmap-xhdpi .... You can see this picture
You can get ppi using DisplayMetrics and after getting ppi you can use IF condition and set that drawable that you need to set.
I need info about under which dpis both Samsung Galaxy s5 and Samsung note 4 like do they come under xxhdpi or xhdpi or hdpi ?
S5 :
xxhdpi (~432 ppi pixel density)
note 4 :
technically it is DENSITY_560 since it has ~515 ppi pixel density ,
but you should target xxxhdpi and let the android resources system scale images down for you like the nexus 6
I want to provide drawables for:
hvga and qvga phones (but those use hdpi drawables pretty well)
hdpi phones
xhdpi phones
xxhdpi phones
7" tablets
10" tablets
I have folders:
drawable-hdpi (used by phones up to 480x854 screens)
drawable-xhdpi (used by phones like Galaxy S3)
drawable-xxhdpi (used by phones like Galaxy S4)
drawable-sw600dp (I would expect: used by 7" tablets)
drawable-sw720dp (I would expect: used by 10" tablets)
My original problem was, I thought resources from drawable-sw720dp are not used, but they are! Some graphic designer gave me files with different names and I did not notice. My fault.
So no problem at all.
For supporting tablets also, use large, xlarge qualifiers. Nexus 7 is a large-hdpi tablet(technically it's tvdpi, but takes images from hdpi). So if you want to put images for Nexus 7, make a folder named drawable-large-hdpi and put the images there.
Now regarding the 10 inch tablets case, they are xlarge devices and their densities can change from mdpi to xhdpi(Nexus 10). But many have resolution of 1280 * 800 and they are mdpi devices.
Create drawable folder like this
// for Phones
drawable-mdpi
drawable-hdpi
drawable-xhdpi
drawable-xxhdpi
//for 7 inch tablets
drawable-large-mdpi
drawable-large-hdpi(for Nexus 7)
// for 10 inch tablets
drawable-xlarge-mdpi
drawable-xlarge-xhdpi(for nexus 10)
Source of answer
My original problem was, I thought resources from drawable-sw720dp are not used, but they are!
I have developed a clock widget. And I only have 1 res/layout and 1 res/drawable. Everything works perfectly.
It works on mdpi like Samsung Galaxy Ace. It works on hdpi like Samsung Galaxy S2. It works on xhdpi like Samsung Galaxy Note.
However I got ugly look on 720x1280 devices such as Samsung Galaxy Nexus or Sony Xperia S. And coming soon Samsung Galaxy S3.
When I provide res/layout/xhdpi which I built specifically for 720x1280 devices and then Galaxy Note will also use this layout and it looks ugly on Galaxy Note.
How to address this issue?
It is like some crossing between 720x1280 (Galaxy Nexus, Sony Xperia S, Galaxy S3) and 800x1280 (Galaxy Note).
The resolution and DPI of the device don't necessarily match up (high resolution doesn't mean high DPI). DPI is a ratio of the resolution of the device and its physical dimensions.
Instead of separating your layout folders by DPI, separate them by dimensions. For instance, layout-large, layout-xlarge. You can also quantify by specific sizes, such as layout-w720-h1280, in which case that would match only device with a minimum width of 720 pixels and minimum height of 1280 pixels.
Use layout-sw320dp for Galaxy S3