鑑於國內互動設計名詞混亂不統一,很多設計師不知道如何用專業術語稱呼一個控制項,因此我開了《這個控制項叫什麼》專題,梳理控制項的名稱和使用事項,希望能為推動互動設計發展,做出一點微小的貢獻。
Switch(開關/滑動開關/切換開關)有兩個互斥的選項(例如開/關、是/否、啟動/禁用),它是用來打開或關閉選項的控制項。選擇其中一個選項會導致立即執行操作。
準確的Lable(標籤)
由於Switch控制項本身就能表現當前的開/關狀態,因此相關文案只需表示所控制內容,千萬不要在Lable中加入一些邏輯詞語。典型的反面教材就是Android 7.0的通知設置,雙重否定表示肯定,大多數人都把左圖的狀態當做當前App的通知是關閉的,實際上右圖才是關閉通知後的狀態。
清晰的開關狀態
Switch可以根據App視覺風格進行樣式修改,但一定要清晰的表示開關狀態,下圖的釘釘PC版,由於加了顯眼的顏色,很難第一眼分辨出這表示關的狀態。
立即執行操作
Switch與RadioButton(單選按鈕)、CheckBox(複選框)最大的區別是:Switch操作後,程序立即執行相關操作。而RadioButton和CheckBox一般用在表單裡,僅反映當前的選擇狀態,如果要執行操作並生效,需要點擊額外的提交按鈕。
危險操作二次確認
正是由於按下Switch後立即執行操作,如果操作比較危險,請在點擊開關後加入二次確認流程,避免造成嚴重損失。
注意加載狀態
如果Switch所執行的操作需要與伺服器交互,就必須考慮加載狀態了,例如剛進入頁面時,獲取Switch的狀態需要加載。如果改變Switch的狀態,需要與伺服器交互,必須等待伺服器返回成功指令後才能改變Switch的狀態,傳統的做法是為初次加載和操作後等待準備特定的樣式。
另外一種目前比較流行的策略是使用Optimistic UI(樂觀派UI,請參考 http://colachan.com/post/3531 ),用戶操作Switch之後,Switch視覺上立即響應改變,然後再向伺服器交互。微信朋友圈的點讚就是用的這個策略。Optimistic UI帶給用戶更流暢的體驗,當然,採取這一策略最好保證伺服器在97%到99%以上的狀況下返回成功指令。
相關資料Google Inbox的Pin樣式
Google Inbox右上角的Pinned樣式上很像Switch,實際上這是一個篩選工具,圖釘豎直表示只顯示Pin過的郵件。這給了我們啟發,可以在Switch的按鈕上增加視覺效果,表現Switch當前狀態所代表的含義。
QQ音樂Android版的流暢度設置
QQ音樂Android版的設置項中有流暢度設置,關閉相關效果可提升流暢度和減少耗電。通常來說Switch打開有啟用的含義,帶有一點正面的褒義效果。QQ音樂卻反過來了,Switch關閉有褒義的鼓勵含義——關閉更流暢。