2021-06-01

屏幕适配 Gradle抽取

> 屏幕适配

1.平时写布局注意的问题
2.全局适配的方案
3.实际开发中遇到的一些特殊适配问题

因为Android技术是开元的,碎片化问题比较严重,所以应用的对不同分辨率的手机进行适配,那我在平时开发过程中,首先布局编写时,通过权重,匹配屏幕或包裹内容来实现View的自适应,当然好多view的宽高是切图中规定死的,那么对于这些写死的宽高,在不同设备中就会出现比例拉伸的情况,所以以前项目当中,一般会通过最小宽高适配来实现不同机型的屏幕适配.

原理介绍:
其实适配的主要问题就是分辨率吧不同,尺寸不同,而设备的像素密度和分辨率,尺寸息息相关,也就是说px在不同机型上转化的dp值是不同的,如果我们不做适配,当dp在不同设备上值是不一样的时候,那自然就会出现显示长短不一样效果,所以我通过studio自带的一个插件screenMatch,来生成项目上使用到的所有版本dp值,这样当不同设备在渲染尺寸的时候,会自动从和自己最为接近的最小宽度中,读取对应比例的dp值,读取对应比例的dp值,这样最大会的实现了屏幕适配的效果
默认生成的dimens可以适配大部分设备,但是如果尺寸比较特殊的设备需要我们自己添加适配值,比如以前做过一个LED显示屏,它的分辨率和手机差不多,但是尺寸的话要比手机要大得多,所以默认生成的dimens并没有很好地实现适配的效果,后来我通过就算这个LED显示屏的最小宽度,然后在screenMatchProPerties这个文件中,将新计算的最小宽度进行添加,然后重新生成所有适配的dimension,很好的解决; 这款特殊设备的适配

今日头条适配是我以设计图的宽高进行设配的,适配最终是改变系统的density实现的,他的优点是使用成本低,侵入性第,修改头一次项目所有地方都会适配,无性能耗损,但\缺点也比较明显,只需要修改一次density,项目中所有地方都会适配,这个看似减少了很多操作.但是实际上反应了一个缺点,那就是只能一刀切的将整个项目进行适配,但是适配范围是可不控的,这个方案依赖于设计图尺寸,但是项目中的系统控制,三方控制等非我们项目自身设计的控件,他们的设计图尺寸并不会和我们项目自身的完全一致

autosize是基于今日头条适配方案,他很大程度上解决了今日头条适配方案的两个缺点,可以对activity,fragment进行取消适配.而且使用比较简单.,添加一行依赖就能适配整个项目,而且可以设置副单位.支持pt之类的单位

Gradle抽取

1.如果一个项目当中存在多个模块,当跟开以来版本号的时候,便于修改
2.保证了多个模块的版本一致,减少了冲突发生的可能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值