Windows phone 8 屏幕适配总结

来源:互联网 发布:编辑杂志的软件 编辑:程序博客网 时间:2024/05/18 13:27

当我们进行Windows phone 8 开发时会遇到屏幕适配的问题,windows phone 8 支持如下分辨率的屏幕:

   

   

我们会发现,我们程序的多数页面会自动适配好,要理解这一行为最关键的是要弄明白WP布局时的单位

   

WP的底层框架式Silverlight 而Sliverlight可看成是WPF的子集所以WP的布局单位同WPF是一样的。

 对布局单位的解释

首先我们看几个概念

PX :这个很好理解,1px表示为一个像素点。

DPI(PPI)Dot per Inch 表示单位英尺上的像素点。及(PX/英寸)这是一个用来描述屏幕的参数,dpi越大可理解为屏幕越细腻(这两个实际为不同的概念,但多数情况下我们认为表示的是一个值)。

   

这两个概念熟悉后关键点就来了:

WPF(WP)中的布局单位(下面记为1wp单位)是一个与设备无关的单位,描述为 1/96 英寸。

也就是 1wp = 1/96英寸。

   

这个又如何理解呢,比如当前屏幕设备的DPI为96,那么可以简单的算出:

1wp = 1/96 (英寸)*96(PX/英寸)=1PX

而当设备的DPI为192时同理可以算出:

1wp = 1/96 *192 = 2px

   

   

针对wp8的疑问

WVGA和WXGA1.6倍的关系怎么来的?

在WVGA下定义一个高度为X的矩形,那么实际在设备中显示的像素点为 X*1/96*设备DPI

在WXGA中同样为X*1/96*设备DPI

我们通过勾股定理简单的计算出WVGA和WXGA的DPI关系 为:

WXGA DPI=1.6* WVGA DPI

所以图表中会列出1.6倍的那个关系。

   

图片为何发虚?

举例说明 有一张图片的实际px为100*100 我们将它放在page里面宽高设为为100wp*100wp

   

那么这张图片在96dpi的情况下在实际设备中通过100*100个px来展示

而在192dpi的时候 在实际设备中则会通过 200*200个px来展示,

如此便会在视觉上出现发虚的情况。


原创粉丝点击