当前位置:  开发笔记 > 前端 > 正文

如何在Android中使用单个xml布局文件支持多种屏幕尺寸

如何解决《如何在Android中使用单个xml布局文件支持多种屏幕尺寸》经验,为你挑选了2个好方法。

我想支持多种屏幕尺寸的Android屏幕,但我可以通过维护多个xml布局文件来实现

但根据要求,我应该使用单一的XML布局来优化应用程序的使用.

所以,请你帮助我,我已经通过多个教程多个链接,但无法获得堆栈溢出的最后一个选项



1> Ready Androi..:

绘制:

对于图像,您必须根据屏幕分辨率管理不同的可绘制文件夹:

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: 对于维度,如果你根据你的UI使用不同的静态角钱,那么你必须根据它们的值...文件夹来定义它们.

不同智能手机分辨率的值文件夹:

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

注意:如果使用sp/sip/dp/dip,则将根据设备密度调整这些值.例如,假设您在mdpi(320X480)分辨率设备中为TextView设置了10sp.然后,相同的值将自动调整为其他分辨率.

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

这些是一些常规用法值文件夹,用于管理与其屏幕分辨率相关的维度.

不同屏幕的不同值文件夹:

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

有关深度的知识,请使用支持屏幕分辨率



2> Jayanth..:

Layouts Folder在您的res文件夹中为所有设备创建三个不同的,并相应地使用尺寸.

通用布局文件夹

res/layout-small
res/layout-normal
res/layout-large
res/layout-xlarge

完成正常/中等布局后,请按照下列步骤操作:

    转换其他屏幕尺寸的正常尺寸.

    将Normal Layout xml文件复制到其他文件夹中.

    根据您所在的文件夹更改使用的尺寸的后缀

    调整可绘制文件夹中的图像资源(宽度和高度 - 与我们用于转换尺寸的技术相同)并将它们放在各自的可绘制文件夹中(drawable-ldpi,drawable-mdpi,drawable-hdpi,drawable-xdpi等等) ).

    然后你的布局应该适用于每个设备正确定位.

用于转换值

0.75 - ldpi  (small)   //mdpi dimens *0.75
1.0  - mdpi  (normal)  //First create these dimensions
1.5  - hdpi  (large)   //mdpi dimens *1.5
2.0  - xhdpi (xLarge)  //mdpi dimens *2.0

例如

android:layout_ //in normal
android:layout_//in large 66*1.5=100(approx)
android:layout_ //in small 66*0.75=52(approx)

此外,还引入了新的限定符 - SmallestWidth - AvailableScreenWidth - AvailableScreenHeight

在此处详细了解https://developer.android.com/guide/practices/screens_support.html

我希望这有帮助.

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有