Offerman Consulting
spacer Zone

An overview of resources, assets and layouts for Android programming

Icons

Up to Android version 1.5 (API 3): click here.
From version 1.6 (API 4):

density not scalable LDPI MDPI TVDPI HDPI XHDPI XXHDPI
from version 4.1 (API 16)
HTC One, SGS4, Nexus 5
XXXHDPI
from version 4.3 (API 18)
resource directory drawable-nodpi/ drawable-ldpi/ drawable-mdpi/ drawable-tvdpi/ drawable-hdpi/ drawable-xhdpi/ drawable-xxhdpi/
drawable-480dpi/
drawable-xxxhdpi/
DPI ~160 ~213 ~240 ~320 ~480 ~640
scaling ratio 1.5 2 2.66 3 4 6 8
dp to px 1 (base) 1.33 1.5 2 3 4
launcher icon
48x48dp
ic_launcher_*.png (px)
48x48 64x64 72x72 96x96 144x144 192x192
ActionBar/menu icon
32x32dp (24x24dp optical)
ic_menu_*.png (px)
32x32 43x43 48x48 64x64 96x96 128x128
small/contextual icon
16x16dp (12x12dp optical)
ic_icon_*.png (px)
16x16 24x24 27x27 32x32 48x48 64x64
notification/StatusBar icon
24x24dp (22x22dp optical)
ic_stat_notify_*.png (px)
24x24 32x32 36x36 48x48 72x72 96x96
tab icon
ic_tab_*.png
dialog icon
ic_dialog_*.png

Note: the Google Play store require 512x512px icons.
Icons for the LDPI density are typically scaled down automatically from HDPI.

Layouts

Note: layouts should always be defined in dp.

From version 1.6 (API 4):

screen size small normal large extra large
resource directory layout-small/ layout(-normal)/ layout-large/ layout-xlarge/
minimum screen size (dp) 320x426 320x470 480x640 720x960

Additional qualifiers for resource directories:

  • land/port, typically add a directory layout-xlarge-land/
  • long/notlong

From version 3.2 (API 13): different layouts for minimum required width (in dp) for an activity:

independent of orientation changing with orientation (i.e. actual width)
layout-swXXXdp/ layout-wXXXdp/ layout-hXXXdp/
e.g. 320, 480, 600, 720 e.g. 720, 1024, for multi-pane e.g. 720, 1024

Declare smallest supported width in manifest:
<supports-screens android:requiresSmallestWidthDp="600">.