Windows Phone开发的中文资料缺乏,这段译文翻译自《UI Design and Interaction Guide for Windows Phone 7 Series》,翻译活动由http://www.wpmind.com/ 的站长小指发起,最终版本将会在http://www.wpmind.com/ 发布。希望更多的人参与到Windows Phone开发中来。
之前,Jake已经在他的Blog中发布了他翻译的部分:Windows Phone 7用户界面框架。本人负责翻译的是Windows Phone Application Controls小节中的List Box以后的内容,但是由于本人技术水平和英语水平的限制,翻译存在不对的地方,希望大家指正,谢谢!
列表框控件(List Box)包含一个数据项的集合,可以通过绑定数据源或者显示自由数据项(unbound items)来构建。列表框是一个项目控件,你也可以用来填充其他控件或者文本。比如,Windows Phone 7 CTP列表框项目控件可以用来放置不同的表达元素和点击目标元素。
备注:对于CTP release版本,在你的应用程序中必须合理地设计该控件。更多详情请参考Windows Phone开发文档中的基础控件(Base Controls)小节。
在Windows Phone 7 CTP中,列表控件为开发者提供了一种系统表示数据内容的方法。列表视图项(List View Item)是显示在列表中的矩形视图元素。在Windows Phone 7 CTP中,开发者可以使用多种风格的列表视图项。
备注:对于CTP release版本,在你的应用程序中必须合理地设计该控件。更多详情请参考Windows Phone开发文档中的基础控件(Base Controls)小节。
例子之一是单行的表现方式。
例子之二是带图标的双行格式。该控件支持具有图像占位符的多行文本,其中图像占位符可以在控件边界的右边,也可以在控件边界的左边。
列表项设计考虑
进度条是一个表示某项操作进度的控件。你可以使用该控件来展示普通的进度,或者是根据一个数值改变的进度。它包括的特性有:
程序设计时的考虑
尽管页标题并不是一个有用的控件,在这里我们还是要讨论它。页标题控件用来清楚地显示该页内容的信息。
程序设计时的考虑
全景视图是Windows Phone OS 7.0 CTP核心体验的一部分。标准应用(standard applications)受手机屏幕界限的局限,与标准应用不同,全景视图应用利用一个超出手机屏幕局限的长水平画布提供一种独特的方式来浏览控件、数据和服务。这些内在的动态应用利用分层的动画和内容,实现了层与层之间以不同速度平滑过渡,就和视差效果类似。
当前,没有一个全景应用模板或者控件是作为标准应用平台的一部分来提供的。但是,开发者们可以利用Silverlight来创建类似的应用体验。
设计建议
对于自定义Silverlight全景应用,虽然没有官方的限制,但是Microsoft还是给出了一些建议。 这些建议的目的是帮助你反映集成的全景视图应用,并且为人们提供更加一致的体验。
全景应用的用户接口由4层类型组成:背景图片、全景标题、全景区域和全景区域标题,它们有各自独立的动作逻辑。
下图表示基于图片的元素:
下图表示基于文本的元素:
背景图片位于全景应用的最底层,由它来给出类似于杂志的体验。背景图片通常是一张全景图,它可能是应用程序最直观的部分。如何创建一个好的应用体验,我们在设计过程中,必须牢记以下因素:
全景标题是整个全景应用的标题。其目的是让用户识别该应用,无论是以何种方式进入应用,它都必须是可见的。下面是全景标题的设计建议:
全景区域是全景应用的组成部分,它封装了其他控件和内容。以下是全景区域的设计建议:
全景区域标题是全景区域的可选部分。如果你提供标题,考虑下面的设计建议:
注:
根据全景区域的宽度是否大于或者小于屏幕的宽度,该全景区域的标题应该不同。如果全景区域的标题宽,它就需要水平的动画。也就是说,标题不应该停留在区域的左上方,而应该随着全景应用的移动,以不同的速度移动。在这种情况下,不应该使用垂直滚动。相反地,如果全景区域的宽度小于屏幕的宽度,标题就应该一直停留在该区域的左上方。在这种情况下,不应该使用水平滚动的动画,如果使用了垂直滚动,标题应该随着内容移动。
小图片是全景浏览中的主要元素。它们链接到全景以外的内容或者媒体。如下图所示,你应该使用剪裁的图像来强调一个主题,而不是一整张图片。如果图片没有文本标注,可以使用两行的文字来描述该内容。
全景应用的元素作为更加细致体验的起点。下图描述了手机上核心全景应用的标准流程。
注:
上面展示的元素流程并非指示平台的功能,而是终端用户的体验。例如,在一个全景应用中启动另一个应用程序,在终端用户所看来,刚刚启动的应用程序只不过是相同全景应用的不同视图而已。
枢轴(Pivot)控件提供了一种快速的方式来管理应用中的视图或页面。枢轴可以用来过滤大的数据集,浏览多个数据集,或者切换应用视图。枢轴控件水平并且相邻放置独立的视图,同时管理左侧和右侧的导航。可以通过Flick或者Pan手势来推动枢轴控件。
注:
在CTP Release版本中,该控件不可用。但是,在开发你自己的枢轴控件时,以下的设计考虑突出了它的一些主要特性:
程序设计时的考虑