Android屏幕适配—被偷走的dp

作者: zly394 | 来源:发表于2016-04-01 17:47 被阅读4596次

一、Android手机屏幕DPI

DPI概念自行百度
Android手机按照不同DPI分为:ldpi、mdpi、 hdpi、 xhdpi、 xxhdpi等。
在不同的DPI上,px和dp有不同的比例关系,关系如下

DPI类型 DPI dp px
ldpi 120 1 0.75
mdpi 160 1 1
hdpi 240 1 1.5
xhdpi 320 1 2
Nexus 5x 420 1 ≈2.6
xxhdpi 480 1 3
Nexus 6/6p 560 1 3.5

二、不同设备的dp宽度

设备 分辨率 DPI 宽(px) 宽(dp)
HTC Tatoo 240x320 120 (ldpi) 240 320
LG Optimus 320x480 160 (mdpi) 320 320
Nexus one/s 480x800 240 (hdpi) 480 320
Galaxy Nexus 720x1280 320 (xhdpi) 720 360
Nexus 5 1080x1920 480 (xxhdpi) 1080 360
Nexus 5x 1080x1920 420 1080 ≈411.4
Nexus 6/6p 1440x2560 560 1440 ≈411.4

由上表可知:

  • 在ldpi、mdpi和hdpi设备上屏幕的宽度都是320dp
  • 在xhdpi和xxhdpi设备上屏幕的宽度都是360dp
  • 而在420dpi和560dpi设备上屏幕的宽度都约等于411.4dp

三、面临的问题

目前主流的分辨率一般为720x1280和1080x1920,所以一般设计师在设计Android应用时会选择720x1280的画布进行设计,如果只切一套图,工程师会把图放到xhdpi的资源文件夹中,此时,在xhdpi和xxhdpi的屏幕上都可以正常适配,但是在hdpi的屏幕上就会出现问题。

从上面的表格可以知道在xhdpi和xxhdpi时,屏幕的dp宽都是360dp;而在480x800的hdpi时,屏幕的dp宽度是320dp,少了40个dp,如果屏幕的dp宽度保持360dp的话,需要的像素宽度应该是540px,但市面上大部分的hdpi的手机都是480px的像素宽度。

为了适配480x800的手机屏幕,需要设计师在切图的时候也要切出一套hdpi的图,并且是480*800分辨率下的hdpi的图。

另外在写布局文件设置宽度的时候,也要需要考虑这个差值,hdpi下的dp宽度应该是xhdpi或xxhdpi下的dp宽度的0.8~0.9倍

相关文章

  • Android屏幕适配—被偷走的dp

    一、Android手机屏幕DPI DPI概念自行百度Android手机按照不同DPI分为:ldpi、mdpi、 h...

  • Android适配

    Android屏幕适配dp、px两套解决办法

  • 2018-08-29

    今日头条适配方案 一、屏幕适配原理 1、Android中的dp、px、dpi、desity关系 px = dens...

  • SmallestWidth适配方案

    smallestWidth适配,或者叫sw限定符适配。指的是Android会识别屏幕可用高度和宽度的最小尺寸的dp...

  • Android听说你还在用dp单位做屏幕适配?

    前言 屏幕适配一直是Android开发人员躲避不开的话题,更多的同学使用dp单位结合权重去做屏幕适配,但是当设备的...

  • UI优化

    UI渲染基础 1、屏幕与适配 通过dp和自适应布局可以基本解决屏幕碎片化的问题,这也是Android推荐使用的屏幕...

  • Android屏幕适配-应用篇

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

  • Android——非运行时的长度适配

    Android适配的痛点 Android屏幕尺寸碎片化严重,需要使用dp取代px 美工出图给出的值的单位为px,如...

  • 关于Android的屏幕适配

    对于Android的屏幕适配,似乎所有的Android开发人员都知道这么一条准则:使用dp而不是使用px。但是当面...

  • Android屏幕适配

    1.为什么会出现屏幕不适配的问题 Android的画面编码,控件的宽高等属性通常使用的单位都是dp 举个例子:屏幕...

网友评论

    本文标题:Android屏幕适配—被偷走的dp

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