android屏幕分辨率、密度、尺寸、px、dp等 您所在的位置:网站首页 oppok7x屏幕像素密度多少 android屏幕分辨率、密度、尺寸、px、dp等

android屏幕分辨率、密度、尺寸、px、dp等

2024-05-17 00:52| 来源: 网络整理| 查看: 265

****** ps看完之后就知道怎么和美工部的小姐姐解释为什么图片不要用px啦!  

1.什么是屏幕尺寸、分辨率和像素密度?

屏幕尺寸

单位:英寸(inch)   1英寸 = 2.54厘米

目前市场上屏幕尺寸以5.5英寸为主(Android 2018年),数据由【友盟】提供。

推荐大家去看下,是一家数据统计网站,国内是比较知名的统计网站和工具。

屏幕分辨率: 

定义:横纵向上的像素点        ( 分辨率越高,显示的效果越好)

单位:px   1px = 1像素点

 一般表达的方式,纵向像素 * 横向像素 = 1920 * 1080

目前市场上手机屏幕分辨率 还是以1920*1080像素为主

屏幕像素密度

定义:指的是每英寸上的像素点        (密度越高,显示效果越好)

单位:dpi 

 ****************像素密度与【屏幕尺寸】和【分辨率】有关******************

下面举个“栗子”

一步4.95英寸、屏幕分辨率是1920*1080的手机,求屏幕像素密度

手机4.95英寸,指的是手机对角线的长度

因为AC=1920,BC=1080,所以AB≈2203

所以像素密度 = 2203 / 4.95 ≈ 445

为什么我们要用android开发的时候不用px做为单位?px(像素)

构成图像的最小单位

dp 、dip

密度无关像素     【注意,dip和dpi不一样】

如果在160dpi(像素密度为160),那么 1dip = 1px

        在240dpi(像素密度为240),那么 1.5dip = 1px        (后面会解释,别着急)

举个“栗子”

在2部手机中

A手机 分辨率为 480*320,像素密度为 160DPI

B手机 分辨率为 800*480,像素密度为 240DPI

A手机

B手机

如果我们图片要在A手机宽度铺满全屏显示的话,我们就得设置图片宽度为320px

我们要B手机宽度铺满全屏显示,需要设置多少?得设置480px。

那么问题来了,android手机那么多,分辨率并不是固定的(参考楼上分辨率数据),不像iPhone,屏幕的分辨率是固定的。我们想要图片在每部手机显示都是横向铺满的,设置px的话明显有问题。

所以,我们开发的时候单位一般设置为dp、dip

如果我们图片设置320dp,在480*320上,1dp=1px,所以图片是铺满的

在800*480手机上,1px = 1.5dp,所以320dp = 320dp * 1.5 = 480dp,所以图片也是铺满的

可能到这里小伙伴们头脑没转过来,为什么1px在不同分辨率手机上,等于的dp是不同的呢?

因为手机的像素密度不同啊!

上面说过dp、dip叫做密度无关像素,你可以这么理解,dp和dip存在的意义,是和像素密度没有关系的。我使用dp作为单位设置控件,不管你什么屏幕大小,多大的dpi,显示的效果始终保持一致。就是专门用于不同手机屏幕分辨率,我却能都适应。至于160dpi里1dp=1px,480dpi里1dp=1.5px,为什么这么设置呢?因为人家google就这么定义的。没必要深究

px和dp的换算公式:px = dp * (dpi / 160)

sp

定义:根据字体首选项进行缩放

sp绝大部分都是用来设置文字大小的大小.

google开发指导手册上推荐我们设置12sp以上大小的单位,不要用12sp以下,以为用户可能看不清。推荐使用大小有12sp、14sp、18sp和22sp作为我们首选的字体大小。

字体设置的时候    不能有   小数和奇数。因为字体放缩的时候可能对精度的丢失

最后如果大家有空就看下这个android design  对大家还是有些帮助的

http://www.apkbus.com/design/



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有