書接上回,本文再來談談《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並沒有對物理鍵盤做太多規定,導致在使用物理鍵盤時不能方便的使用第三方IME提供的許多功能(譬如表情)。
此外,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的一個原因。
原文發佈於coding.windstyle.cn,歡迎訪問、訂閱並和我交流。