Skip to content Skip to sidebar Skip to footer

Support Different Screen Sized

I have a project for an application that can run on different types of android device: -small device :example samsung ace -normal device:samsung galaxi s3 -tablet 10'' My layout is

Solution 1:

For Different screen size, The following is a list of resource directories in an application that provides different layout designs for different screen sizes.

res/layout/my_layout.xml             // layout for normal screen size ("default")
res/layout-small/my_layout.xml       // layout for small screen size
res/layout-large/my_layout.xml       // layout for large screen size
res/layout-xlarge/my_layout.xml      // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation

The following code in the Manifest supports all dpis.

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

Solution 2:

Kindly Use This qualifier for your Android Project with compatible screen size.

Resource          Screen Size 

layout-small       <3 inch

layout-normal      3-4 inch

layout-large>4 inch<7.1

layout-xlarge      7.1-10.1 inch

If you still facing problem use this Tutorial Link

Solution 3:

If you want to create 1 application for different devices then you have to use android different folder as defined in the sdk

for e.g

drawable-ldpi - to place the images for the low screen density devices(240*320)
drawable-mdpi - to place the images for the middle screen density devices(320*480)
drawable-hdpi - to place the images for the high screen density devices(480*800)
drawable-xhdpi - to place the images for the extra high screen density devices (above 480*800)

If you want to create application for the tablet drawble-sw720dp - to place the images for the tablet devices(7")

drawable used to place images. you have to create the layout for different drawable folder

layout-ldpi - to place the layout for the low screen density devices(240*320)
layout-mdpi - to place the layout for the middle screen density devices(320*480)
layout-hdpi - to place the layout for the high screen density devices(480*800)
layout-xhdpi - to place the layout for the extra high screen density devices (above 480*800)

android automatically get the images and layout from the application according to the device density. but for this you have to define

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

so that application develop for the multiple screen resolution devices.

Solution 4:

To develop an application which supports every density and resolution, we should keep following points in mind:

(1) Put different sized images(with the same name) in 4 different folders in the ratio:

ldpi : mdpi : hdpi : xhdpi = 3 : 4 : 6 : 8

(2) The sizes commonly used for these resolutions are:

ldpi = 36 * 36 px mdpi = 48 * 48 px hdpi = 72 * 72 px xhdpi = 96 * 96 px

But you can use your desired sizes for the images as well.(Just try to follow the ratio in different sizes as well.) Amongst of all these images, the image which suits the device's density , will automatically be picked.

(3) Besides this, you can also get the density of the device programmatically and set the layout accordingly, like this:

DisplayMetricsdisplayMetrics=newDisplayMetrics();
      getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
      switch(displayMetrics.densityDpi){ 
      case DisplayMetrics.DENSITY_LOW: 
        // layout for small sized devices.break; 
      case DisplayMetrics.DENSITY_MEDIUM: 
        // layout for medium-sized devices.break; 
      case DisplayMetrics.DENSITY_HIGH: 
        // layout for big-sized devices.break; 
      }  

Post a Comment for "Support Different Screen Sized"