4

The designer of our company wants me to give him the resolutions of Android tablets so he will start designing a new app.

I know there are a lot of different resolutions (listed here: Android Tablets computers). I also know about the division of Android to the different dpi's (ldpi, mdpi, ...).

My questions :

  1. What should I tell the designer? He obviously not supposed to make a version for each resolution. Besides, some of the resolutions listed in the link above are in the same dpi, so which one should I choose?
  2. Considering the fact the app is going to run only on tablets, what are the dpi classes I should use? Only hdpi and xhdpi? Or should I still use all 4 classes and limit the <supports-screens> tag in the manifest?
  3. Is there a resolution that represent each of the dpi classes that I should stick to?
  4. I've done some reading about 9-patch. What's the point of using it if I still need to deliver a version for each dpi??

Thanks in advance!

ofirbt
  • 1,846
  • 7
  • 26
  • 41

2 Answers2

1

The questions contain so much information.

1 Try to read the article and the references in it.

http://www.androiduipatterns.com/2011/11/design-patterns-for-responsive-android.html

You could also have a look at the web site for android design.

http://developer.android.com/design/index.html

In one word, designing for android tablets is more like designing websites. You cannot just design for one resolution.

2 Considering you are developing for tablets, it's necessary to support mdpi and hdpi. If the apps could be installed on phones, maybe xhdpi is also needed. It's not very strict.

3 dpi(dots per inch) = pixels per inch. So dpi is like density, it do not have strict relationship with resolution. But there is still a sheet could help you, try to find it in the following page

http://developer.android.com/guide/practices/screens_support.html

4 9-patch resource is very useful. With which a small png could stretch to any size without distortion. And it could also help to reduce the size of your resources.

In most situation, you do not have to make 9-patch for each dpi, since it could stretch to any size you want. But if the 9-patch png contain some information itself, like min height and padding, it's necessary to make different versions.

faylon
  • 7,360
  • 1
  • 30
  • 28
  • xhdpi is extremely rare, and i would like to point out that a 9" with 1280x800 is mdpi. – njzk2 Feb 01 '12 at 09:39
0

Here is what I would do:

  • See what combinations you have. There are mostly 3 resolutions for tablets (1280x800, 1024x600, 800x480) and mostly 2 densities (hdpi and mdpi). That is at most 6 versions. Select a few matching your most logical targets (I would choose xlarge mdpi (9" 1280x800), large mdpi (7" 1024x600) and normal-hdpi (4-5" 800x480) and design on these.

  • Some graphical elements don't need to be designed for each combinations, like backgrounds, may be buttons… Here comes the 9-patch. To be put in drawable-nodpi folder. One resource fits all.

  • Do one version first on you major target, then see how it fits on the other targets, and consider adjustments from there.

  • Use ScrollViews if you don't want to position every item pixel-perfectly on each device.

njzk2
  • 38,969
  • 7
  • 69
  • 107
  • Should I take the screen actual size into consideration? You referenced `normal-hdpi`... I thought I should only take care of dpi's, not screen sizes... Am I wrong? – ofirbt Feb 01 '12 at 10:42
  • the dpi you use to reference your resources is used by android to adjust its size. it you don't specify anything, mdpi is used. if you reference an image under hdpi and open it on an mdpi device, it will be scaled down. – njzk2 Feb 01 '12 at 13:55
  • I don't think nodpi for buttons is good advice. It depends on the kind of buttons you make but subtle and small effects really don't look good on high density devices... – Sander Versluys Mar 06 '13 at 13:02