How can i support multiple screen sizes in android with single xml layout file

后端 未结 9 2211
鱼传尺愫
鱼传尺愫 2021-02-06 12:54

I want to support my android screen in multiple screen sizes but i can do it with maintaining multiple xml layout file\'s

but according to requirement it i supposed to b

相关标签:
9条回答
  • 2021-02-06 13:45

    drawable:

    For images, you have to manage different drawable folders as per screen resolution:

    drawable-ldpi        //240x320
    drawable-mdpi        //320x480
    drawable-hdpi        //480x800
    drawable-xhdpi       //720x1280
    drawable-xxhdpi      //1080X1920
    drawable-xxxhdpi     //1440X2560
    drawable-tvdpi       // nexus 7 etc 
    drawable-xlarge-xhdpi //tablet like nexus 10  
    

    dimes: For dimens, If you are using different static dimes as per your UI then you have to define them respected to their values... folders.

    Values folder for different smart phones resolutions:

    values-ldpi\dimens.xml
    values-mdpi\dimens.xml
    values-hdpi\dimens.xml
    values-xhdpi\dimens.xml
    values-xxhdpi\dimens.xml
    values-xxxhdpi\dimens.xml
    

    Note: If you are using sp/sip/dp/dip then these values will be adjusted based on the density of device. e.g Suppose you had set 10sp for TextView in mdpi(320X480) resolution device. Then this same value will be auto adjusted for other resolutions.

    mdpi(10sp==10px)
    hdpi(15px)
    xhdpi(20px)
    xxhdpi(30px)
    xxxhdpi(40px)
    

    These are the some general usage values folder which are used to manage dimens related to their screen resolutions.

    Different values folder for different screens:

    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-xxxhdpi                 1440X2560 xxxhdpi
    
    values-xxhdpi                  1080X1920 xxhdpi
    
    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
    

    For knowledge in depth go with Support screen resolution

    0 讨论(0)
  • 2021-02-06 13:45

    try this https://developer.android.com/guide/topics/manifest/supports-screens-element.html

       <supports-screens android:resizeable=["true"| "false"]
                          android:smallScreens=["true" | "false"]
                          android:normalScreens=["true" | "false"]
                          android:largeScreens=["true" | "false"]
                          android:xlargeScreens=["true" | "false"]
                          android:anyDensity=["true" | "false"]
                          android:requiresSmallestWidthDp="integer"
                          android:compatibleWidthLimitDp="integer"
                          android:largestWidthLimitDp="integer"/>
    
    0 讨论(0)
  • If you provide text size as sp and other dimensions as dp. Android will automatically adjust for different layouts based on density of devices. If you want to control the values, you can put values in dimens.xml in each of values folders. The values folder inside res for different density devices will be following :

    values-ldpi\dimens.xml
    values-mdpi\dimens.xml
    values-hdpi\dimens.xml
    values-xhdpi\dimens.xml
    values-xxhdpi\dimens.xml
    values-xxxhdpi\dimens.xml
    
    0 讨论(0)
提交回复
热议问题