注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

无线时代辐射无穷

抓紧生宝宝,小心辐射

 
 
 

日志

 
 

Flex4.5手机项目中“根据不同的屏幕密度自动缩放尺寸”的含义  

2011-06-18 19:32:30|  分类: flex |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

作者:Adobe技术专家董龙飞,微博:http://t.sina.com.cn/donglongfei

使用Flash Builder4.5创建“Flex手机项目”时,开发者需要在“手机设置”面板上决定是否需要为Flex手机项目设定“ 根据不同的屏幕密度自动缩放尺寸””。该选项的设置和手机设备的DPI有关。

关于DPI和分辨率

当我们在讨论设备显示能力或者图像的清晰程度时,经常会说到两个名词:分辨率和DPI。

  • 1.显示分辨率(display resolution):指的是显示设备在纵向和横向可以输出的像素的数目。比如,NexusOne手机的分辨率为480×800,即其可以显示480像素宽×800像素高,而MOTO的XOOM平板电脑的分辨率为1280×800,即其可以显示1280像素宽×800像素高。
  • 2.DPI:是dots per inch的缩写,即“点每英寸”,DPI体现了屏幕密度。如160DP即指在1个英寸长度中可以输出160个点,这里的点就是像素。因此,DPI和PPI(pixels per inch)的概念是一样的。比如,NeuxsOne手机(3.7寸)的PPI为254PPI,而XOOM(10.1寸)的则为160。XOOM虽然分辨率比较高,但是由于其尺寸较大,因此每英寸显示的像素要小于NexusOne手机。

DPI对手机开发的影响

在为移动设备开发应用时,不同的移动设备可能具有不同的DPI。比如,你要设定一个15像素的条目间距,在Google NexusOne手机上,大约会获得0.059英寸(约等于15毫米)的间距,而在XOOM上,则会获得0.09英寸(约等于23毫米)的间距。

我们再来看一个具体的例子。显示一个2×2的图片列表,每幅图片的height和width都设置为128*128像素,间距为6像素。运行同样的代码在NexusOne(254dpi)和GalaxyTab(171dpi)上,可以得到两个大小完全不同图片显示的应用,如果仔细观察,实际上间距的大小也不同。如下图。

不同DPI下的应用显示

不同DPI下的应用显示
 

Flex手机项目中应用程序DPI设置和自动缩放

如下图,开发者在创建Flex手机项目时,可以在手机设置面板中启动“根据不同的屏幕密度自动缩放应用程序”,以及对应的“应用程序DPI”。

DPISetting

DPI设置

注:如果启用了“根据不同的屏幕密度自动缩放应用程序”,然后指定了应用程序DPI(对应着根标签的applicationDPI属性),那么Flex将根据运行目标手机设备的实际DPI(即runtimeDPI)来计算应用程序的缩放比例。如果不使用具有静态大小或自定义外观的组件,则通常无需设置 applicationDPI 属性,即无需启用“根据不同的屏幕密度自动缩放应用程序”。

applicationDPI和runtimeDPI:applicationDPI和runtimeDPI是spark Application ,ViewNavigatorApplication和TabbedViewNavigatorApplication的属性。applicationDPI指定了应用程序的目标DPI,而runtimeDPI则为应用程序所运行的设备的DPI,该值来自Capabilities.screenDPI。当开发者设定了applicationDPI值(无论是直接在代码中还是通过创建Flex手机项目的手机设置面板),Flex就会计算缩放比例引自,并将其应用到整个应用程序上。

比如,图“不同DPI下的应用显示”所示的例子,并没有设置applicationDPI值,因此Flex不会进行自动缩放。如果我们为代码加入applicationDPI=” 240“(这相当于启用了” 根据不同的屏幕密度自动缩放应用程序 “,并设置”应用程序DPI“选项为240),那么Flex就会自动为程序计算缩放因子。

在Google NexusOne上,runtimeDPI的值为240(DPI值在200和280之间的都会自动映射为240),那么计算的缩放因子则为1。

而在Galaxy Tab上,runtimeDPI的值为160(DPI值在200以下的,都会自动映射为160),那么计算的缩放因子则约为0.67。Flex会自动缩放图片和间距,尽量保证两个平台上的显示效果一致。

如下图:

设定applicationDPI的应用在不同DPI设备上的显示

设定applicationDPI的应用在不同DPI设备上的显示

  评论这张
 
阅读(1238)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017