书接上回,本文再来谈谈《Windows Phone 7设计和交互规范》中的剩余部分,包括文本、标点符号、触控、屏幕键盘、物理键盘、屏幕以及其他硬件。
文本
这份规范实在是太细致了,以至于它对Windows Phone 7应用的文本格式都做了详细的规定和建议,虽然许多内容并不是针对中文的,但了解一下也无妨。
Windows Phone 7内建的Unicode字体支持东亚语言(中韩日),开发人员也可以在应用中内置字体。字体尺寸请勿小于15pt,否则难以阅读。
应用中出现的文本应当使用自然语言,而不是机械的计算机语言。
建议使用Windows Phone 7内置的文本样式,而不是硬编码自定义样式。
如果开发英文应用,则需要注意在什么情况下需要大小写敏感。在页面标题、列表标题、列表组标题、列表项、用于执行命令的按钮、搜索框中的示例文本以及文本当中的链接里可以将单词的所有字母小写。在复选框、单选框、进度指示器、开关控件以及表示状态、通知和说明的文本中建议使用大小写敏感的单词形式。而在应用的标题和日期时间文本中建议将单词的所有字母大写。
此外,这份规范还事无巨细地提到了标点符号的正确使用方法:
- 【&】:可以使用
- 【:】:应当在引入数字或者变量时使用,譬如:“载入百分比:60% ”,不要用在控件的标签文本末尾以及组标题或列标题末尾。
- 【…】:应当在进度指示器的标签中使用,不要用在标题和按钮中。
- 【。?!】结束符号:可以用在教学性的文本中,问号也可以用在错误消息或对话框的标题中,但不要用在其他标题、按钮、复选框以及单选框的标签中。结束符号后边应当再使用空格来分隔句子。此外,应该避免在标签中使用句子。
- 【()】:尽量避免使用。
触控
Windows Phone 7支持单点触控和多点触控,其中单点触控支持的手势包括:
- Tap:轻触并离开屏幕
- Double Tap
- Pan:滑动,手指离开屏幕后结束
- Flick:快速滑动,手指提起后结束
- Touch and Hold:按下一段时间,用于显示上下文菜单
多点触摸支持的手势叫做Pinch and Stretch,既两指触屏,靠近或离开。
由于手指和鼠标所能达到的精确度不同,触控应用的UI设计和传统的用鼠标来控制的应用有很大差别。比如在触控应用的交互设计中,触控目标没有所谓的Hover状态;而其由于Windows Phone 7不支持导航键,所以触控目标也没有Focus状态。
为了使触控更加轻松,触控目标的边长不应该小于34像素(特殊情况也不要小于26像素),控件之间的间隔至少8像素。当触摸发生后,要立即提供可视化的反馈或者声音反馈。
此外,常用任务都应该能用单手完成,不建议将手势作为快捷方式使用。
除了触摸之外,Windows Phone7手机还支持多种输入方法:屏幕键盘、物理键盘、麦克风、手机物理按键、感应器,但并不是所有的输入方法都向开发人员开放。
屏幕键盘
屏幕键盘在竖屏时的高度为336像素,在横屏时的高度为256像素,输入建议面板的高度是65像素。
开发人员应当根据文本框的输入类型为其设置输入范围,以便Windows Phone 7弹出适当的屏幕键盘。
Windows Phone 7中的屏幕键盘类型包括:
- Default:标准QWERTY布局
- Text:标准布局,包括ASCII表情
- Email Address:标准布局,包括.com和@键
- Phone Number:经典12键布局
- Web Address:标准布局,包括.com键和自定义回车键
- Maps:标准布局,包括自定义回车键
- Search:半透明布局,包括Search键和.com键
- SMS Address:标准布局,包括可以轻易访问电话号码的布局
屏幕键盘可以自动弹出,但建议仅当页面中不多于两个文本框时才自动弹出屏幕键盘。
硬件
所有Windows Phone 7手机都配备了分辨率为800×480像素的WVGA屏幕。
屏幕有三种方向:Portrait、Landscape Left和Landscape Right,后两者为横屏。横屏时,用于显示电量和时间等信息状态栏会从32像素的高度变为72像素的宽度。屏幕在旋转时,系统会产生动画效果,开发人员不必编写自己的效果。
应用可以选择是否支持横屏或竖屏,但不能以编程的方式修改屏幕方向。由于手机可能会配备横向侧滑键盘,所以支持文字输入的应用应该总是支持横屏。
支持横屏是需要编写代码的,一旦支持横屏,就必须同时支持Landscape Left和Landscape Right两种方向。
Windows Phone 7的物理按键包括电源键(睡眠键)、音量调高键、音量调低键、拍照键、后退键、开始键和搜索键。其中开始键、电源键、音量键、拍照键和搜索键的行为是开发人员无法控制的,当用户按下这些键时,有可能导致当前应用被暂停,开发人员应当为此做好准备。
Windows Phone 7会记录应用中页面的跳转情况,并为页面保存快照,当用户按下后退键时,系统会打开上一个页面的快照,由于是快照,所以数据可能并不是最新的。开发人员可以控制后退键的行为,但后退键的本意是向后导航,所以不要将其移做他用。
崇尚简约的iOS设备没有这一按键,所以在iOS应用的UI上常常能看到一个“返回”按钮,Android虽然有物理后退键,但因为缺乏官方的有力引导,许多Android并没有好好利用好这一按键,而是去盲目的模仿iOS应用。譬如新浪微博的官方Android客户端,完全可以把“微博正文”这一栏去掉,节省空间用来展示真正的微博正文。
Windows Phone 7手机可以配备物理键盘,但只允许QWERTY、AZERTY和QWERTZ这三种布局,并且对按键做了严格的要求,除了必须的A-Z字母键之外,还必须有表情键等按键。Android并没有对物理键盘做太多规定,导致在使用物理键盘时不能方便的使用第三方输入法提供的许多功能(譬如表情)。
此外,Windows Phone 7的物理键盘不支持任何形式的导航和定位键,这一点也和Android有所不同。
开发人员可以通过API来查询物理键盘的状态。
Windows Phone 7手机内置的感应器包括:加速器、A-GPS、近距离感应器、摄像头、指南针、光线感应器,据说大多数都对开发人员开放。
其他硬件包括FM模块、蓝牙、闪光灯、对焦灯、Micro SD、Micro USB、Wi-Fi。
在硬件方面,iOS设备始终由苹果自己操刀,保守但很稳妥;Android是开源项目,并且对硬件限制很少,这种开放的好处是设备型号繁多,坏处是这些设备的硬件参差不齐、厂商的开发能力良莠不一,使得目前Android世界处于一片混乱当中、用户经常会遇到由于系统版本、分辨率、硬件性能等等带来的体验挑战。
而Windows Phone 7对硬件的各个方面都有严格的要求,这样既能保证设备的多样性,又能保证用用户体验的一致性,可以说在吸取了双方的优点的同时又摒弃了双方的缺点,这是我看好Windows Phone 7的一个原因。