android开发像素密度、屏幕适配简单理解

  • 像素(px):对应一个rgba值。每个分量(比如r分量)占8b,所以rgba占32b,即一个字节byte。

  • 分辨率:即屏幕一共有多少个像素。当然是(宽x高)个呀。比如分辨率一般有1920x1080等。

  • 屏幕尺寸(in):手机对角线的长度,单位in(英寸)。常见有4.7英寸,5.5英寸。

  • 像素密度(dpi):一个英寸长度里有多少个像素。比如手机像素密度:

    1. 根据宽高(分辨率)以及勾股定律算出 对角线上有多少个像素点
    2. 手机像素密度 = 对角线上有多少个像素点 / 对角线的长度
    
    android手机标准屏幕像素密度(mdpi)是160,即一个英寸160个像素。
    
  • 密度无关像素(dp):和手机像素无关,是android特有的长度单位。

    换算公式:px值 = dp值 x (手机dpi / 标准dpi即160) = dp值 x displayMetrics.density
    
  • 独立比例像素(sp):和手机像素无关,是android特有的字体单位

    换算公式:px值 = sp值 x displayMetrics.scaledDensity
    
    android里density和scaledDensity大致一样,不过scaledDensity根据用户设置的字体可能会所有调整。
    
  • 屏幕适配方案

    • 限定符适配方案

    smallestWidth,比如values-sw320dp

    • 今日头条适配方案:不使用标准mdpi作为参考,使用手机寸尺和设计稿的寸尺计算出新的参考

    https://github.com/JessYanCoding/AndroidAutoSize

posted @   yongfengnice  阅读(519)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示