Showing posts with label Device Resolutions. Show all posts
Showing posts with label Device Resolutions. Show all posts

Thursday, November 22, 2012

Resource Folder Content ?


Check this link http://developer.android.com/training/multiscreen/index.html
http://developer.android.com/guide/practices/screens_support.html
http://developer.android.com/guide/practices/ui_guidelines/icon_design.html
http://developer.android.com/guide/topics/resources/more-resources.html#Dimension
http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html
http://android-developers.blogspot.in/2011/07/new-tools-for-managing-screen-sizes.html
http://jayxie.com/mirrors/android-sdk/resources/samples/MultiResolution/index.html
http://tools.android.com/recent/dealingwithdependenciesinandroidprojects
http://developer.android.com/about/dashboards/index.html

Taken from Here

In the /res folder you can have:

anim/ - XML files that define tween animations

color/ - XML files that define a state list of colors.

drawable/ - Bitmap files / Nine-Patches (re-sizable bitmaps) / State lists / Shapes / Animation drawables / Other drawables

layout/ - XML files that define a user interface layout.

menu/ - XML files that define application menus, such as an Options Menu, Context Menu, or Sub Menu.

raw/ - Arbitrary files to save in their raw form.

values/ - XML files that contain simple values, such as strings, integers, and colors.

arrays.xml for resource arrays (typed arrays).
colors.xml for color values
dimens.xml for dimension values.
strings.xml for string values.
styles.xml for styles.
xml/ - Arbitrary XML files

Also see Accessing Alternative Resources for more specific device configurations (locale, dpi, size, aspect, orientation, etc



Also We can have value folder like : -

res/values-ldpi/dimens.xml
res/values-mdpi/dimens.xml
res/values-hdpi/dimens.xml
res/values-sw720dp/dimens.xml

Drawable folders can be of : -

xhdpi: 720x1280
large-hdpi: 640x960
hdpi: 480x640
mdpi: 320x480
ldpi: 240x320

res/layout-sw600dp/main_activity.xml   # For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml   # For 10” tablets (720dp wide and bigger)



The size ratios should match the nominal pixel densities as Android defines them:

ldpi - 120 pixels/inch; dpi scale = .75 (4 dpi = 3 pixels)
mdpi - 160 pixels/inch; dpi scale = 1 (1 dpi = 1 pixel)
hdpi - 240 pixels/inch; dpi scale = 1.5 (2 dpi = 3 pixels)
xhdpi - 320 pixels/inch; dpi scale = 2 (1 dpi = 2 pixels)

So if you make your xhdpi images twice the size (in pixels) of the mdpi resources, they will be the same dpi, meaning they will be the same physical size on their respective screens.








Friday, June 15, 2012

Design Layout For Multiple Screens in android?


You need to create different layout for diff screen size. Support all screen you need to create following layout:

1-Low density Small screens QVGA 240x320 (120dpi):
layout-small-ldpi (240x320)
layout-small-land-ldpi (320x240)

2-Low density Normal screens WVGA400 240x400 (x432) (120dpi):
layout-ldpi  (240 x 400 )
layout-land-ldpi  (400 x 240 )

3-Medium density Normal screens HVGA 320x480 (160dpi):
layout-mdpi (320 x 480 )
layout-land-mdpi (480 x 320 )

4-Medium density Large screens HVGA 320x480 (160dpi):
layout-large-mdpi (320 x 480 )
layout-large-land-mdpi (480 x 320)

5-Galaxy Tab ( 240 dpi ):
layout-large  (600 x 1024)
layout-large-land  (1024 x 600)

6-High density Normal screens WVGA800 480x800 (x854) (240 dpi):
layout-hdpi (480 x 800)
layout-land-hdpi (800 x 480)

7-Xoom (medium density large but 1280x800 res) (160 dpi):
layout-xlarge (800 x 1280)
layout-xlarge-land (1280 x 800)

8- Other

layout-normal-mdpi -> 320x480
layout-normal-hdpi -> 800x480 and 854x480 (adjusted in the code)
layout-normal-ldpi -> 400x240
layout-large-mdpi -> 800x480 tablet (mostly the same as the layout-normal-hdpi layout, but needs to be in this folder)
layout-small-ldpi -> 320x240


Also add following code in .manifest file:

<supports-screens                              
    android:smallScreens="true"                  
    android:normalScreens="true"      
    android:largeScreens="true"          
    android:xlargeScreens="true"          
    android:anyDensity="true" />