androidandroid-layoutandroid-activityandroid-screen-support

How to define dimens.xml for every different screen size in android?


When supporting different screen sizes (densities) in Android often the focus is on creating different layouts for every possible screen. I.E.

I designed a layout for an xhdpi screen as a reference, and defined it's dimensions in dimens.xml. Now I want to give support it to every possible screen size. How can I do that?

As far as I know, I can use this tool to figure out the proper dimens.xml for other screen sizes and add it to my project. Is this the right way to do it in my situation?

Another question, do I only need to create dimens.xml for above screen dimensions? If yes then what is w820dp?

Thanks for your help. I need to support phones only (not tablets or other devices).


Solution

  • You have to create Different values folder for different screens . Like

    values-sw720dp          10.1” tablet 1280x800 mdpi
    
    values-sw600dp          7.0”  tablet 1024x600 mdpi
    
    values-sw480dp          5.4”  480x854 mdpi 
    values-sw480dp          5.1”  480x800 mdpi 
    
    values-xxhdpi           5.5"  1080x1920 xxhdpi
    values-xxxhdpi           5.5" 1440x2560 xxxhdpi
    
    values-xhdpi            4.7”   1280x720 xhdpi 
    values-xhdpi            4.65”  720x1280 xhdpi 
    
    values-hdpi             4.0” 480x800 hdpi
    values-hdpi             3.7” 480x854 hdpi
    
    values-mdpi             3.2” 320x480 mdpi
    
    values-ldpi             3.4” 240x432 ldpi
    values-ldpi             3.3” 240x400 ldpi
    values-ldpi             2.7” 240x320 ldpi
    

    enter image description here

    For more information you may visit here

    Different values folders in android

    http://android-developers.blogspot.in/2011/07/new-tools-for-managing-screen-sizes.html

    Edited By @humblerookie

    You can make use of Android Studio plugin called Dimenify to auto generate dimension values for other pixel buckets based on custom scale factors. Its still in beta, be sure to notify any issues/suggestions you come across to the developer.