手机屏幕尺寸,分辨率,密度,dpi,dip,px,sp等详解

本文详细介绍了手机屏幕的尺寸,包括主屏尺寸和手机尺寸的计算方法,以及屏幕分辨率的相关概念,如像素px、分辨率、密度dpi、设备独立像素dip和放大像素sp。通过一个华为C8813手机的例子,阐述了这些参数的含义和相互关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

           对于手机的尺寸和屏幕的分辨率等,一直以来不是很清楚,所以花了些时间学习了一下,做一下小结,若有不对之处,还望指正。

下面以我的手机 华为C8813 为例,参数如下:

         主屏尺寸:     4.5 英寸

         主屏分辨率: 854x480 

         手机尺寸:     132.5x67x9.3 mm

一:屏幕的尺寸 (Screen Size)

  1:   主屏尺寸 

       表示 主屏对角线的长度   (不是整个手机的长度)

       其中以 1 英寸 = 2.54 cm

       所以     4.5 英寸 = 4.5 * 2.54 = 11.43 cm ,一般说的手机的屏幕大小都是指的主屏的尺寸,而不是手机的面积


  2:   手机尺寸

      表示手机的实际大小(整个手机),也称物理尺寸
      132.5x67x9.3mm 
      其中9.3mm是厚度

二: 屏幕分辨率

Android 获取屏幕的分辨率如下:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int width = metrics. widthPixels;-------------480(c8813的参数)
int height = metrics. heightPixels;-----------854
int density = ( int) metrics. density;-------- 1
int densityDpi = metrics. densityDpi;--------- 240

1:像素 pixel (px)

      要说分辨率,先说像素是picture和element两个单词的字母组成 ,图像成像的最小单位,越高的像素,其拥有的色板也就越丰富,越能表达颜色的真实感。

      不同设备显示效果相同。这里的“相同”是指像素数不会变,比如指定UI长度是100px,那不管分辨率是多少UI长度都是100px。也正是因为如此才造成了UI在小分辨率设备上被放大而失真,在大分辨率上被缩小。

2:分辨率 Resolution

     定义1:屏幕上拥有的像素的总数。注意,虽然大部分情况下分辨率都被表示成“ 宽带 x 长度” ,但分辨率并不意味着屏幕长宽比。
     定义2:指手机屏幕垂直和水平方向上的像素个数。比如分辨率是480*320,则指设备垂直方向有480个像素点,水平方向有320个像素点。
上面两个定义中,意思差不多,个人觉的定义2说的更准确一些。
     当前 我的C8813的 分辨率是 : 854x480

3:密度 Density

     定义:每平方英尺中的像素数。
     通常的值  : 0.75/1/1.5
 int density = ( int) metrics. density;

4:Dpi  DensityDpi 

    定义:每英尺中的像素数。(dots per inch 像素密度) 
    例如:240 dpi 指手机水平或者垂直方向上每英尺距离有240个像素点。
    而 c8813的 分辨率为 854 x 480 则 屏幕长 = 854 /240英尺 ,宽 = 480 / 240 英尺
    int densityDpi = metrics. densityDpi;

5: Dip  (dp) 设备独立像素

    Dip (Device-independent pixel),在布局中用"dp",不依赖像素,这个是Android 推荐了在布局中使用dp作为单位.

注意:有个公式

       dip (dp) = 设备密度dpi/160 * pixel  = Dpi /160 * pixel

 例如:c8813 的 设备密度 densityDpi = 240
            所以 
                    dip = 240 / 160 * pixel = 1.5 pixel 

            如果dpi = 160 ,则  1dp = 1pixel (px)

6: Sp 放大像素

     主要用于字体显示(best for textsize)。根据 google 的建议,TextView 的字号最好使用 sp 做单位,而且查看TextView的源码可知 Android 默认使用 sp 作为字号单位。


7: 各个屏幕的分辨率  

QVGA      :  分辨率为    240*480       (Quarter VGA即四分之一)
HVGA     :分辨率为    320*480       ( Half-size VGA即一半) 
VGA        :  分辨率为    640*480        (全称Video Graphic Array)
WVGA    : 分辨率为  800*480         (Wide VGA 很多网页的宽度都是800,所以WVGA的手机屏幕会更加适合于浏览网页)
FWVGA  :分辨率为   854*480         手机c8813就是
其他的分辨率就不一一说了。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值