创建分辨率自适应的WP8应用程序.doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:5 大小:91KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

创建分辨率自适应的WP8应用程序.doc

创建分辨率自适应的WP8应用程序.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Windowspohone8高级编程http://www.microoh.com/course/22创建分辨率自适应的WindowsPhone8应用程序1.引言WindowsPhone7平台只支持WVGA分辨率(480*800)的设备,这对于应用程序的UI设计来说是有利的,因为设计人员不用考虑多分辨率对UI控件布局的影响。但是,WindowsPhone8平台打破了这个局面,支持三种分辨率,分别为WVGA、WXGA(768*1280)和720p(720*1280)。随之而来的问题就是,开发者该如何应对多分辨率对应用程序的影响?这仿佛又把我们带回了WindowsMobile那个多分辨率的时代。那个时候,我们的应对方法就是使用控件的DockingandAnchoring属性,或者利用本地代码创建Orientation-AwareandResolution-Aware的应用程序。其实,在WindowsPhone8平台上,我们处理的方式和方法也是类似的。2.分辨率对比WindowsPhone8和WindowsPhone7平台支持的分辨率情况如下表所示:名称分辨率比例WindowsPhone7WindowsPhone8WVGA480×80015:9支持支持WXGA768×128015:9不支持支持720p720×128016:9不支持支持表1:WindowsPhone7与WindowsPhone8分辨率对比下图1展示了同一个页面在三种不同分辨率设备上的呈现。注意,图1以高度640为基准,将三种分辨率的Start页面进行等比例缩放得到。3.控件自适应布局从屏幕的比例上来看,由于WindowsPhone8支持15:9和16:9这两种比例,因此,控件的外观和布局在这两种分辨率下会呈现不同的效果。为了使得控件在不同分辨率的设备下展现合适的外观,开发者设计XAML布局的时候,不要设置固定的高度和宽度值。例如,为了创建一个自适应的控件布局界面,开发者可以使用类似Grid的容器,将其他控件放入该容器,并将其行和列的高度和宽度值设置为“*”和“Auto”。这样,应用程序会根据用户设备的实际分辨率对UI界面元素进行自适应拉伸。相反,若在代码中将控件的宽度和高度设置为固定值,那么界面布局就不会根据设备的实际分辨率进行自适应调整了。以下的XAML代码就是一个很好的例子:1:<Gridx:Name="ContentPanel"Grid.Row="1"Margin="12,0,12,0">2:<Grid.RowDefinitions>3:<RowDefinitionHeight="Auto"/>4:<RowDefinitionHeight="*"/>5:<RowDefinitionHeight="*"/>6:<RowDefinitionHeight="*"/>7:<RowDefinitionHeight="*"/>8:<RowDefinitionHeight="*"/>9:</Grid.RowDefinitions>10:<Grid.ColumnDefinitions>11:<ColumnDefinitionWidth="*"/>12:<ColumnDefinitionWidth="*"/>13:<ColumnDefinitionWidth="*"/>14:<ColumnDefinitionWidth="*"/>15:</Grid.ColumnDefinitions>16:17:<BorderGrid.Row="0"Grid.Column="0"Grid.ColumnSpan="4"18:BorderThickness="3"BorderBrush="White"Padding="4"19:Margin="12">20:<TextBlockText="423+61=484"FontSize="35"Padding="6"Height="69"/>21:</Border>22:<ButtonGrid.Row="1"Grid.Column="0"Content="Clear"/>23:<ButtonGrid.Row="1"Grid.Column="1"Content="/"/>24:<ButtonGrid.Row="1"Grid.Column="2"Content="*"/>25:<ButtonGrid.Row="1"Grid.Column="3"Content="-"/>26:<ButtonGrid.Row="2"Grid.Column="0"Content="7"/>27:<ButtonGrid.Row="2"Grid.Column="1"Content="8"/>28:<ButtonG