Reputation: 2521
I am developing an application for google nexus 7 and 10. But there is a problem. I don't know which layout folder should be used for 7 and 10.
Upvotes: 18
Views: 21164
Reputation: 3793
You can now use the Google Design "device metrics" website. It has a lot of devices listed.
Link: https://design.google.com/devices/
Upvotes: 2
Reputation: 6653
According to http://android-developers.blogspot.com/2012/07/getting-your-app-ready-for-jelly-bean.html
Nexus 7 (2012) should be tvdpi
Then, in my opinion
For Nexus 7 (2012)
Layout file in layout-sw600dp-land, layout-sw600dp-port
Image resources in drawable-sw600dp-tvdpi
For Nexus 10
Layout file in layout-sw720dp-land, layout-sw720dp-port
Image resources in drawable-sw720dp-xhdpi (1600x2560)
Upvotes: 16
Reputation: 1916
For nexus 10 you can put your layout in layout-sw720dp-land-xhdpi
folder.
Upvotes: 1
Reputation: 157457
Since android 3.2 you should use layout-sw600dp
for the 7" tablet and layout-720dp
for the 10". If you want to keep backwards compatibility with older version of android (pre 3.2, you should also use the old layout-xlarge*
notation
Upvotes: 11
Reputation: 5246
To add to @blackbelt, I was testing on my Nexus 7 and on a 600x1024mdpi emulator and found that the two will be considerably off.
The quick way to fix this would be to create the layout folders:
layout-sw600dp-land-tvdpi
layout-sw600dp-port-tvdpi
This has been tested and verified to work for the Nexus 7 specifically since the tvdpi density is rare.
So the layout folders:
layout-sw600dp-land
layout-sw600dp-port
would then be for devices with a mdpi density. There are way more devices that fall into the second category, so you really shouldn't rely on using the naming convention without tvdpi to support the Nexus 7.
This obviously can apply to the Galaxy Note and other devices that are hdpi and so on.
Upvotes: 6
Reputation: 5803
For nexus 7
layout-large-hdpi
For nexus 10
layout-xlarge-xhdpi
Note: The app takes images from these folders only if you have not given higher precedence qualifiers. For example if you have given a layout folder like layout-sw360dp
the app will take only the images from this folder even if you have given separate layouts like the one I said above. Because in android there is an order of precedence in which you have to give layouts.
Check this official doc for the order of precedence of qualifiers.
EDIT: Providing layouts for Tablets is a very confusing thing in Android. I had a horrible time in providing layouts for tablets. However I finally succeeded after so many attempts. Having said that one thing you have to remember is that, even if you have not given the right folder, Android will take the next suitable layout folder with respect to the device.
Now regarding your comment, for samsung 7, I think the ideal layout will be
layout-large-mdpi.
And for samsung 7.7, it may be
layout-large-hdpi (which I haven't tried yet)
And for Samsung 10.1, it will be
layout-xlarge-mdpi
Regarding your Nexus 10, you have to make separate images to fit to its size.
Upvotes: 18