Let me start of by telling the research I have done.
On developer.android.com it states that the following should be done to support different screen sizes:
res/layout/my_layout.xml // layout for normal screen size (“default”)
res/layout-large/my_layout.xml // layout for large screen size
res/layout-xlarge/my_layout.xml // layout for extra-large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra-large in landscape orientation
It also states the drawables should be scaled like this:
To create alternative bitmap drawables for different densities, you should follow the 3:4:6:8:12:16 scaling ratio between the six generalized densities. For example, if you have a bitmap drawable that’s 48×48 pixels for medium-density screens, all the different sizes should be:
- 36×36 (0.75x) for low-density
- 48×48 (1.0x baseline) for medium-density
- 72×72 (1.5x) for high-density
- 96×96 (2.0x) for extra-high-density
- 144×144 (3.0x) for extra-extra-high-density
- 192×192 (4.0x) for extra-extra-extra-high-density
Now here is my question, lets say hypothetically I’m designing for nexus 10, in landscape mode. This device will then fall under res/layout-large-land/ and its screen density will be under (2.0x) for extra-high-density – xhdpi.
But What I don’t understand is that the nexus 10 has a tablet size screen but it falls under the xhdpi, meaning that the image that will be fetched from the drawable resource folder will be displayed smaller on this device. I have tested this on the nexus 10 and on my phone and the image is a lot smaller on the nexus 10, as I was expecting it would be.
I have been confused about this for some time now and I have done a lot of research. Can anybody please help me clarify this ones and for all. Thank you.
The Nexus 10 sure has tablet size screen (10.1 in), but falls under the xhdpi(extra high density) class because of its Pixel Per inch(ppi) which is only 299. You can easily identify which class a device would fall into by checking it’s DPI. Below is the density for different classes.
- ldpi – 120 dpi
- mdpi – 160 dpi
- hdpi – 240 dpi
- xhdpi – 320 dpi
- xxhdpi – 480 dpi
In that context, the PPI of the Samsung Galaxy Tab 10 inch tablet which also has a tablet size screen is only 149. Hence, it falls under the mdpi class. Refer to this site, which helps to easily understand which device has what dpi and its density class. This website is also recommended to learn more about different device screen sizes.
Just an added information, the Nexus 10 tablet is an xhdpi device, but uses xxhdpi class for it’s launcher icons(arguably the most important part of an app).