屏幕适配前置技能

作者: wmjwmj | 来源:发表于2018-12-31 23:52 被阅读0次

如果你还不懂屏幕适配,大概是缺点前置技能了

  1. 分辨率、屏幕尺寸、dpi
    dp转px
    dp存在的问题?
    density和dpi

  2. 获取分辨率
    获取density和dpi

px

像素。构成影像的基本单位

分辨率、屏幕尺寸、dpi

分辨率:横向、纵向上的像素总数,单位px。如1920x1080
屏幕尺寸:手机对角线的物理尺寸,单位英寸(inch)。如5.5inch
dpi:像素密度,每英寸(对角线)的像素点数,单位dpi

计算屏幕密度:
分辨率=1920x1080,屏幕尺寸=5.5inch,像素密度=(√1920^2+1080^2)/5.5=400dpi

dp转px

dp: 独立像素密度。android中会在渲染前将dp转为px,计算公式:px = dp * (dpi / 160)

dpi=160 -> 1dp=1px
dpi=240 -> 1dp=1.5px
dpi=320 -> 1dp=2px
...
像素密度越大,1dp对应的像素就越多

dp存在的问题?

假设设计图的尺寸按宽度是360dp设计

以分辨率=1920x1080,屏幕尺寸=5.5inch,像素密度=(√1920^2+1080^2)/5.5=400dpi的手机为例
根据公司屏幕宽度=1080/(400/ 160)=432dp
结论:实际宽度比设计图宽度还大

如果手机的屏幕宽度更小

如720/(400/160)=288dp
结论:实际宽度比设计图宽度还小,就会导致显示不全

density和dpi

density :密度。android中以160dpi为基准,计算公式:density = dpi / 160

dpi=160 -> density=1
dpi=240 -> density=1.5
dpi=320 -> density=2

获取分辨率

// 屏幕宽(像素,如:480px)  
int screenWidth  = getWindowManager().getDefaultDisplay().getWidth();       
// 屏幕高(像素,如:800px)
int screenHeight = getWindowManager().getDefaultDisplay().getHeight();       

获取density和dpi

DisplayMetrics dm = getResources().getDisplayMetrics();  
// 密度(如:1.0/1.5/2.0)  
float density  = dm.density; 
// 像素密度(如:160/240/320)        
int dpi = dm.densityDpi;     

相关文章

  • 屏幕适配前置技能

    如果你还不懂屏幕适配,大概是缺点前置技能了 分辨率、屏幕尺寸、dpidp转pxdp存在的问题?density和dp...

  • 屏幕适配总结

    屏幕适配总结 为什么要针对屏幕做适配 drawable目录常见问题 : 屏幕适配方案:

  • Android屏幕适配-应用篇

    目录 Android屏幕适配-基础篇Android屏幕适配-应用篇 Android屏幕适配最主要的原因:  是由于...

  • 屏幕适配的那些坑

    屏幕适配的那些坑 屏幕适配的那些坑

  • LayaAir屏幕适配

    LayaAir屏幕适配 官方教程链接:LayaAir实战开发11-屏幕适配 屏幕适配 随着移动端设备(手机、平板、...

  • Android技能树 — 屏幕适配小结

    前言: Android技能树系列: Android基础知识 Android技能树 — 动画小结 Android技能...

  • she

    1.适配的分类 系统适配 屏幕适配 1.1屏幕适配历史 1.1.1autoresizing 去掉auto layo...

  • Android屏幕适配

    一. 为什么要适配屏幕 android屏幕大小、屏幕密度碎片化严重 二. 怎么样适配屏幕 图片适配 应用图标提供不...

  • 屏幕适配AutoResizing

    适配器简介 AutoResizing 屏幕适配的历史 -iPhonestyGS\IPhone4 -没有屏幕适配可言...

  • css media 适配屏幕宽度

    H5 屏幕适配 css media 适配屏幕宽度;js 通过 适配获取屏幕宽度,来执行对应方法; max-widt...

网友评论

    本文标题:屏幕适配前置技能

    本文链接:https://www.haomeiwen.com/subject/guszhqtx.html