Android 屏幕适配之ScreenMatch

2023-07-10  本文已影响0人  hao_developer

Android ScreenMatch屏幕适配是一种简单适用的适配方式,是由Android官方推出的适配方法。废话不多说直接上干活:

1.首先下载安装ScreenMatch插件,Ctrl+Alt+S打开Plugins

image.png
2生成配置文件

右击项目找到ScreenMatch,如下图:

image

单击之后,会有选择项目的界面,选择你想在哪个项目中使用ScreenMatch。

image

会生成两个文件:screenMatch.properties,screenMatch_example_dimens.xml。

image

修改screenMatch_example_dimens.xml文件把它改成dimens.xml文件复制到values文件夹下(如果里面没有你需要的大小,可以自己添加进去)重新在项目右键选择ScreenMatch,这时会在res文件夹下看到很多values:

image.png

这是点完screenmatch之后生成的文件

2.3几个配置文件简介

上面生成了screenMatch.properties和screenMatch_example_dimens.xml与res下面的values之间的关系呢。让我们看看具体的配置文件。

2.3.1screenMatch.properties文件

在这个文件中你需要关注就两个参数
base_dp和match_dp

插件的作者建议base_dp不要修改,个人感觉修改时你需要考虑如下问题:

System default values is 系统默认的值
384,392,400,410,411,480,533,592,600,640,662,720,768,800,811,820,960,961,1024,1280,1365

其实很多项目组,用不到这么多的值,只需要把你需要值配置进去即可。这样做的目的是为了减少apk的体积。即使以后想扩展的话,只需要在match_dp参数添加对应的值,并重新点一次screenmatch按钮就可完整配置。

横屏:1280640
竖屏:6401280

什么意思呢?同一个设备,分辨率为1280*640,横屏下高度为640,竖屏则是1280,这是你match_dp就是两个完全不同的值。加入density为2,match_dp 分辨为320和640。

2.3.2 screenMatch_example_dimens.xml文件

这个文件相当重要,也不重要,为啥呢?

先了解一下,screenmatch适配的原理,它将所有可能宽度都生成好,我只需要使用这些已经生成好的数值就行了,在不同的机型下,自动适配到不同的宽度。这就是涉及到要把所有要设配的机型的对应的值都要计算一遍。

screenmatch会根据res/values/dimens.xml文件中基础数值去计算并生成match_dp配置的所有宽度的dimens.xml。

而这个文件的意义,就在于你可以直接把他拷贝到res/values/dimens.xml中,并以此来计算出其他宽度dimens.xml。假如match_dp=384,400,411,533,640,720,768,820,会生成如下图dimens.xml:

注: 这里面还有优化空间,就是你需要多少像素值,就在里面写多少,不然可能有很多像素用不到,增加包的体积。比如说,1-10像素根本用不到,你可以它去掉,你感觉这个10个数字没啥,要是你适配20款不同高度时,就相当于有10*20个记录是用不到的。

image
上一篇下一篇

猜你喜欢

热点阅读