Search code examples
androidscreenresolutionandroid-screen-support

Do I need 14 different layouts to support all Android devices?


I'm really feeling confused. From the docs at developer.android.com, it seems in order to keep my images scaled correctly (aspect ratio too) across all current Android devices I need all these layouts below. Is that really what everyone is doing? Am I missing something, or should I be going about this a different way?

Low density Small screens QVGA 240x320
------------------------------------------------
layout-small-ldpi
layout-small-land-ldpi

Low density Normal screens WVGA400 240x400 (x432)
------------------------------------------------
layout-ldpi
layout-land-ldpi

Medium density Normal screens HVGA 320x480
------------------------------------------------
layout-mdpi
layout-land-mdpi

Medium density Large screens HVGA 320x480
------------------------------------------------
layout-large-mdpi
layout-large-land-mdpi

High density Normal screens WVGA800 480x800 (x854)
------------------------------------------------
layout-hdpi
layout-land-hdpi

Xoom (medium density large but 1280x800 res)
------------------------------------------------
layout-xlarge
layout-xlarge-land

Solution

  • Your app will work on 100% of the devices with the classic layout.

    You can just add some buttons or change the layout in landscape mode by adding some qualifiers but that's up to you!

    For instance, on LDPI (small resolution) device, you may want to adjust some buttons or change a little bit to fit the small screen.

    You may also want to put some buttons on the right in landscape mode and in the bottom of your layout in portrait!

    You do not "have to" use them.