在重新定義現代運算在大螢幕上的外觀,Android 應用程式扮演了相當重要的角色。然而,只是在 Chromebook 上執行行動應用程式,並不會為使用者提供最佳體驗。
本頁將詳細介紹一些方法,協助您針對筆電和可變形的板型規格打造使用體驗。如要進一步瞭解如何測試應用程式的相容性,請查看完整清單。
利用任意形式的多視窗模式的支援功能
在 ChromeOS 中實作 Android 應用程式包括基本多視窗模式支援。Android 不會一律放大整個螢幕畫面,而是將 ChromeOS 上的應用程式算繪為任意形式視窗容器,因此更適合這些裝置使用。
使用者可以調整含有 Android 應用程式的視窗大小,如圖 1 所示。為確保任意形式視窗能夠順利調整大小,並向使用者顯示完整內容,請參閱視窗管理指南。
如要改善在 ChromeOS 上執行應用程式時的使用者體驗,請按照下列最佳做法:
- 在多視窗模式下正確處理活動生命週期,並確保您持續更新 UI (即使應用程式並非最頂層的視窗)。
- 請確認應用程式在使用者調整視窗大小時,能適當調整版面配置。
- 如要自訂應用程式視窗的初始尺寸,請指定應用程式的啟動大小。
- 請注意,應用程式根活動的方向會影響應用程式的所有視窗。
自訂頂端列顏色
ChromeOS 會使用應用程式主題,為應用程式頂端顯示的頂端列上色,當使用者按住視窗控制項和返回按鈕時,系統就會顯示該列。如要針對 ChromeOS 打造精美的應用程式,請定義 colorPrimary
並在應用程式主題中定義 colorPrimaryDark
值 (如果可以的話)。
colorPrimaryDark
是用來為頂端列上色。如果只定義 colorPrimary
,ChromeOS 會在頂端列中使用較深的版本。詳情請參閱「樣式與主題」一文。
支援鍵盤、觸控板和滑鼠
所有 Chromebook 都有實體鍵盤和觸控板,有些 Chromebook 也配備觸控螢幕。部分裝置可以從筆電轉換成平板電腦形式。
在 ChromeOS 的應用程式中,支援透過滑鼠、觸控板和鍵盤輸入,讓使用者不需觸控螢幕就能使用應用程式。許多應用程式原本就支援滑鼠和觸控板,不需要另外設定。不過,建議您針對滑鼠妥善自訂應用程式行為,並支援及區分滑鼠和觸控輸入。
請確認下列事項:
- 可點擊所有目標。
- 所有可觸控捲動的介面都能用滑鼠滾輪捲動,如圖 2 所示。
- 在實作懸停狀態時,我們會仔細判斷,可以改善 UI 探索機制,又不會對使用者顯示過多畫面,如圖 3 所示。
視情況區分滑鼠和觸控輸入。舉例來說,按住某個項目可能會觸發複選 UI,對同一個項目按一下滑鼠右鍵可能會改為觸發選項選單。
自訂游標
自訂應用程式滑鼠遊標,指出使用者可以與其 UI 元素互動,以及互動的方式。您可以呼叫 setPointerIcon()
方法,設定在使用者與檢視畫面互動時要使用的 PointerIcon
。
在應用程式中顯示下列所有項目:
- 文字專用的 I 點指標
- 位於可調整大小圖層邊緣的大小調整控點
- 針對可以使用點按及拖曳手勢平移或拖曳的內容,提供開放式和封閉式指標
- 處理中的旋轉圖示
PointerIcon
類別提供常數,可用來實作自訂遊標。
鍵盤快速鍵和導覽
由於每部 Chromebook 都有實體鍵盤,因此請提供快速鍵,讓使用者更有效率。舉例來說,如果您的應用程式支援列印,您可以使用 Control + P 鍵開啟列印對話方塊。
同樣地,請使用分頁導覽處理所有重要的 UI 元素。這對於無障礙功能來說格外重要。為符合無障礙標準,所有 UI 介面都必須有顯而易見且符合無障礙規範的聚焦狀態,如下圖所示:
請務必針對觸控專屬互動下隱藏的核心功能 (例如按住動作、滑動或其他多點觸控手勢) 實作鍵盤或滑鼠替代功能。其中一個解決方式是提供將懸停在平面上時顯示的按鈕。
如要進一步瞭解鍵盤、觸控板和滑鼠支援,請參閱「 大螢幕的輸入相容性」。
進一步強化使用者輸入內容
如要為應用程式取得電腦級功能,請考慮採用以下效能導向的輸入內容。
內容選單
Android 內容選單是另一種加速使用者導向應用程式功能的加速器,只要按一下滑鼠或觸控板的次要按鈕,或在觸控螢幕上按住即可觸發:
拖曳
建立拖曳互動 (例如下圖中的互動) 後,即可在應用程式中提供有效率且直覺的效率提升功能。詳情請參閱「拖曳」。
觸控筆支援
觸控筆支援功能對於繪圖和筆記應用程式至關重要。實作專為使用觸控筆輸入功能的互動,為配備觸控筆的 Chromebook 和平板電腦提供進階支援。
設計觸控筆互動時,請考慮不同觸控筆硬體的可能變化版本。如需觸控筆 API 的大綱,請參閱「 大螢幕的輸入相容性」。
使用回應式版面配置
讓應用程式無論螢幕狀態為何 (全螢幕、直向、橫向或視窗) 都善用螢幕空間。以下是一些良好的空間使用範例:
- 顯示應用程式架構。
- 將文字長度和圖片大小限制在最大寬度。
- 更有效地在應用程式工具列中使用房地產。
- 讓應用程式根據滑鼠 (而非拇指用量) 調整應用程式用途,改善 UI 預設用途。
- 最佳化影片和圖片的大小、為所有媒體設定一組寬度和高度上限,並盡可能提升可讀性和瀏覽便利性。
- 實作回應式資料欄系統。詳情請參閱「回應式版面配置格線」。
- 視需要使用資料欄系統調整 UI 大小並修改。盡量避免開啟新視窗。
- 移除或降低水平捲動元件的重要性。
- 避免使用全螢幕互動視窗。針對所有非關鍵動作使用內嵌 UI,例如進度指標和快訊。
- 使用經過改善的 UI 元件,例如時間和日期挑選器、文字欄位,以及專為滑鼠、鍵盤和大螢幕設計的選單。
- 針對小型或中型編輯功能,使用內嵌編輯、額外資料欄或強制回應 UI,而非新活動。
- 移除或修改懸浮動作按鈕 (FAB),提升鍵盤導覽體驗。根據預設,FAB 位置會以半透明分頁順序排序。而是應先將其設定完成,因為這是主要動作,或是替換為其他更高層級的預設用途。
變更導覽模式
系統層級的返回按鈕是保留自 Android 手持根手指的模式,不適用於桌面環境。
隨著應用程式越來越適合針對筆電環境進行自訂,建議您採用較不強調返回按鈕的導覽模式。讓應用程式透過提供應用程式內返回按鈕、導覽標記或其他逸出路徑 (例如關閉或取消按鈕) 做為大螢幕 UI 的一部分,處理自身的記錄堆疊。
您可以在 <activity>
標記內調整偏好設定,藉此控制應用程式是否要在其視窗中顯示返回按鈕。設定 true
會隱藏返回按鈕:
<meta-data android:name="WindowManagerPreference:SuppressWindowControlNavigationButton" android:value="true" />
解決相機預覽圖片的問題
如果應用程式只能以直向模式執行,但使用者在橫向螢幕上執行,就會發生相機問題。在這種情況下,預覽或擷取的結果可能無法正確旋轉。
相容性模式會改變系統處理 Chrome OS 事件等事件的方式,例如螢幕方向變更。這有助於避免在錯誤方向模式下使用相機時發生問題。如要啟用相容性模式,必須符合下列條件:
- 指定 Android 7.0 以上版本 (API 級別 24)。最低 SDK 級別可以較低。
- 請將應用程式設為可調整大小。
處理裝置設定
針對在 ChromeOS 上執行的應用程式,考慮採用下列裝置設定。
調整音量
ChromeOS 裝置為「固定音量」裝置:播放音效的應用程式有專屬的音量控制項。請遵循使用固定磁碟區裝置的指南。
變更螢幕亮度
您無法在 ChromeOS 上調整裝置亮度。系統會忽略對 system settings
和 WindowManager.LayoutParams
的呼叫。
其他學習教材
如要進一步瞭解如何針對 Chromebook 最佳化 Android 應用程式,請參閱下列資源:
- 閱讀 Android 開發人員網誌的「 將 Android 應用程式帶入 Chromebook」一文。
- 觀看 2017 年 Google I/O 大會的 Chromebook 和大螢幕裝置專用的 Android 應用程式講座。