再议屏幕适配

之前对屏幕分辨率和像素的只是做过讨论,可见文章:http://blog.csdn.net/carter_yu/article/details/50421787

一、Android中的屏幕知识

  • 像素:(px)每张图片都是由色点组成的,每个色点就是一个像素,像素的大小是可以变化的,所以也成为“相对长度”;相机所说的像素,实指最大像素数,如200万 = 1600 * 1200 ,像素是由相机里的光电传感器上的光敏元件数目所决定的,一个光敏元件就对应一个像素。因此像素越大,意味着光敏元件越多,相应的成本就越大。

  • 屏幕分辨率:就是屏幕每行的像素点数*每列的像素点数;手机的分辨率在出厂时就是已经确定好的,不可改变。

  • 图像分辨率:每英寸图像内的像素点数。图像分辨率是有单位的,叫像素每单位(px/in);

  • 屏幕大小:只屏幕对角线的物理长度,不可改变,用英寸(in)表示;

  • 屏幕像素密度:(ppi)是指屏幕对角线上每英寸的像素数量;正常距离下,PPI高于300时,人眼已经无法辨别像素点。

二、实例介绍(已荣耀7为例)

屏幕参数

屏幕大小

在上图可以看出,荣耀7的屏幕分辨率是1920*1080,就是说手机横屏上有1920个像素点,竖屏有1080个像素点;

屏幕尺寸5.2寸(英寸),就是对角线的长度为5.2英寸,1英寸 = 2.54cm,所以对角线长度是13.2厘米。

屏幕像素密度424ppi,是说对角线上每英寸存在的像素数为424,可以根据下列公式计算,对角线像素数约为2202,对角线长度为5.2英寸,故每英寸的像素数约为424。

这里写图片描述

屏幕分辨率和屏幕尺寸没有关系。每英寸像素数(PPI)是两者共同决定的,PPI越高,屏幕越清晰。所以我们可以得出:并不是分辨率越高,屏幕越清晰,合适的屏幕分辨率搭配合适的尺寸,才能达到高质量的屏幕质量。

三、关于像素大小

像素的大小是不固定的,但是,一台电子设备,出厂后的屏幕分辨率和像素的物理大小就是确定的了。

为什么电脑可以调节屏幕分辨率?

电脑的实际分辨率就是最大分辨率,而调节到较小分辨率时,实际是通过填充一些模拟色块,将屏幕分辨率凑到硬件的实际分辨率。

四、开发人员适配

Android中会有dp(dip)、px、dpi、density。

  • dip:就是dp,设备无关像素;

  • px:像素,不过多介绍;

  • dpi:dots per inch ,每英寸的像素点数,也叫像素密度(px/inch);

  • density:密度,density = 实际dpi/标准dpi,即 实际dpi /160;

根据定义,当dpi为160时,dp等于px,我们得1dp = 160*1inch;

又有dpi定义得:1px = 1dpi*1inch;==>1px = 1dpi*(1dp/160) = (1dpi/160)*1dp;

所以,dp和px的换算公式为:

1dp = px/(Dpi/160) = (px*160)/Dpi = px / 密度;

1px = dp * (Dpi/160) = dp * 密度;

总结,

120dpi(ldpi低密度屏)   1dp = 0.75px ( 标准: 320*240)(由于像素点是物理点,所以用2个像素点来显示3个dp的内容)

160dpi(mdpi中密度屏)   1dp = 1px ( 标准: 480*320)

213dpi(tvdpi电视密度屏)  1dp = 1.33px

240dpi(hdpi高密度屏)   1dp = 1.5px( 标准: 800*480)

320dpi(xhdpi极高密度屏)  1dp = 2px( 标准: 600*124)

图片适配

按照中密度屏给出UI,然后进行放在不同dpi的图片文件夹中;

尺寸适配

在不同dpi的values文件中,按照公式进行换算。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值