不是专业做安卓的,只是感兴趣,自己学习,简单记录下学习成果,以后可能会用到
我的不是最完整的解决方案,有问题可以在看看其他帖子相互补充,毕竟不是专业做这块的,不会把所有都搞清楚
屏幕适配方案:
1.dimens(SmallestWidth限定符)
2.自定义(按指定设计比例缩放)
说明:方案1占用资源较少,性能好,方案二是动态计算,性能会有损耗,1够用的情况用1就好,两个可以同时使用
方案1:
原理就不多说了,网上有很多,直接上操作
Android Studio中settings->plugins搜索screenmatch,点击installed,我的已经安装了所以是灰的
安装好后重启AS,在目录上右键有ScreenMatch选项,点击
然后在Select Module对话框点OK,会弹个错误
关掉,会发现目录中多了两个文件
将模板文件复制到values文件夹下并改名dimens
打开配置文件screenMatch.properties,会看到下面三个关键配置信息
base_dp=360,基准360,这会用我们上面加的values下的dimens.xml
match_dp,需要适配的dp值,加上后等下再点击ScerrnMatch会自动生成很多需要dp的文件夹
ignore_dp,忽略的dp
我随便加了几个:384,392,400
然后在目录上右键点击ScreenMatch选项,提示成功
发现我们的res文件夹下多了很多sw,应该是配置中没有配置ignore项导致的
我们删除所以sw文件,配置ignore项再跑下看看,结果就正常了
使用的话也比较简单,如下
android:layout_width="@dimen/dp_150"
基准的360应该可以覆盖大部分手机了,有需要的话再根据需要添加
下篇介绍自定义