看完这篇你再也不用担心屏幕适配的问题啦 (EasySmallWidth版本发布)

前言

首先声明一点这个并不是一个新的屏幕适配方案,其适配原理为SmallWidth,正如其名字一样,希望通过这个框架适配,让SmallWidth适配方案变得更加容易。

项目地址

github.com/xiaolutang/…

屏幕适配的原理简述

2018年的时候今日头条公布的他们的屏幕适配方案,紧接着各位大佬也陆续发布了屏幕适配的相关文章,同时 JessYan 还发布了今日头条方案的适配框架,这些都极大地帮助android开发者能够更加容易的进行屏幕适配。在所有的屏幕适配方案中,公认比较好的屏幕适配方案有基于最小宽度 SmallWidth和 基于头条适配方案的 AndroidAutoSize

我们都知道手机屏幕的显示是通过一个个像素来完成的,但是android并不推荐我们直接使用px来标记ui大小。因为不同的手机分辨率不同。相同的像素在越高的分辨率的手机上显示越小。

android推荐使用dp来进行屏幕适配。

那么什么是dp?

dp指的是设备独立像素,以dp为尺寸单位的控件,在不同分辨率和尺寸的手机上代表了不同的真实像素,比如在分辨率较低的手机中,可能1dp=1px,而在分辨率较高的手机中,可能1dp=2px,这样的话,一个96*96dp的控件,在不同的手机中就能表现出差不多的大小了。

dp与px的关系

我们都知道一个公式: px = dp(dpi/160) 系统都是通过这个来判断px和dp的数学关系,

那么这里又出现了一个问题,

dpi是什么呢?

dpi是像素密度,指的是在系统软件上指定的单位尺寸的像素数量,它往往是写在系统出厂配置文件的一个固定值。

dpi的计算方式:

image.png

系统的dp能够解决大部分的问题,但是由于手机生产厂家的不同,系统的dpi就有可能不同,为了解决宽度相同像素不同dpi手机的适配问题,我们需要用到屏幕适配方案。

SmallWidth适配方案

SmallWidth基于当前设备的宽度,从大到小一次查找最接近的dimen资源 进行使用。假设当前设备的宽度360dp 存在sw361dp,sw350dp。即使sw361dp和设备的宽度360dp接近。也会使用sw350dp的资源

SmallWodth是一种等比例适配方案,假设我们以360dp为设计宽度,那么在360dp的dimens中的 值该如何编写呢?在我们的设计中360dp能铺满全屏,那么在现在350dp也能铺满全屏。

即:如果 350中的dimen值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值