針對 ChromeOS 為應用程式進行最佳化調整

在重新定義現代運算在大螢幕上的外觀,Android 應用程式扮演了相當重要的角色。然而,只是在 Chromebook 上執行行動應用程式,並不會為使用者提供最佳體驗。

本頁將詳細介紹一些方法,協助您針對筆電和可變形的板型規格打造使用體驗。如要進一步瞭解如何測試應用程式的相容性,請查看完整清單

利用任意形式的多視窗模式的支援功能

在 ChromeOS 中實作 Android 應用程式包括基本多視窗模式支援。Android 不會一律放大整個螢幕畫面,而是將 ChromeOS 上的應用程式算繪為任意形式視窗容器,因此更適合這些裝置使用。

使用者可以調整含有 Android 應用程式的視窗大小,如圖 1 所示。為確保任意形式視窗能夠順利調整大小,並向使用者顯示完整內容,請參閱視窗管理指南。

圖 1 可調整大小的應用程式視窗。

如要改善在 ChromeOS 上執行應用程式時的使用者體驗,請按照下列最佳做法:

  • 在多視窗模式下正確處理活動生命週期,並確保您持續更新 UI (即使應用程式並非最頂層的視窗)。
  • 請確認應用程式在使用者調整視窗大小時,能適當調整版面配置。
  • 如要自訂應用程式視窗的初始尺寸,請指定應用程式的啟動大小
  • 請注意,應用程式根活動的方向會影響應用程式的所有視窗。

自訂頂端列顏色

ChromeOS 會使用應用程式主題,為應用程式頂端顯示的頂端列上色,當使用者按住視窗控制項和返回按鈕時,系統就會顯示該列。如要針對 ChromeOS 打造精美的應用程式,請定義 colorPrimary 並在應用程式主題中定義 colorPrimaryDark 值 (如果可以的話)。

colorPrimaryDark 是用來為頂端列上色。如果只定義 colorPrimary,ChromeOS 會在頂端列中使用較深的版本。詳情請參閱「樣式與主題」一文。

支援鍵盤、觸控板和滑鼠

所有 Chromebook 都有實體鍵盤和觸控板,有些 Chromebook 也配備觸控螢幕。部分裝置可以從筆電轉換成平板電腦形式。

在 ChromeOS 的應用程式中,支援透過滑鼠、觸控板和鍵盤輸入,讓使用者不需觸控螢幕就能使用應用程式。許多應用程式原本就支援滑鼠和觸控板,不需要另外設定。不過,建議您針對滑鼠妥善自訂應用程式行為,並支援及區分滑鼠和觸控輸入。

請確認下列事項:

  • 可點擊所有目標。
  • 所有可觸控捲動的介面都能用滑鼠滾輪捲動,如圖 2 所示。
  • 在實作懸停狀態時,我們會仔細判斷,可以改善 UI 探索機制,又不會對使用者顯示過多畫面,如圖 3 所示。

圖 2. 使用滑鼠滾輪捲動。

圖 3. 按鈕懸停狀態。

視情況區分滑鼠和觸控輸入。舉例來說,按住某個項目可能會觸發複選 UI,對同一個項目按一下滑鼠右鍵可能會改為觸發選項選單。

自訂游標

自訂應用程式滑鼠遊標,指出使用者可以與其 UI 元素互動,以及互動的方式。您可以呼叫 setPointerIcon() 方法,設定在使用者與檢視畫面互動時要使用的 PointerIcon

在應用程式中顯示下列所有項目:

  • 文字專用的 I 點指標
  • 位於可調整大小圖層邊緣的大小調整控點
  • 針對可以使用點按及拖曳手勢平移或拖曳的內容,提供開放式和封閉式指標
  • 處理中的旋轉圖示

PointerIcon 類別提供常數,可用來實作自訂遊標。

鍵盤快速鍵和導覽

由於每部 Chromebook 都有實體鍵盤,因此請提供快速鍵,讓使用者更有效率。舉例來說,如果您的應用程式支援列印,您可以使用 Control + P 鍵開啟列印對話方塊。

同樣地,請使用分頁導覽處理所有重要的 UI 元素。這對於無障礙功能來說格外重要。為符合無障礙標準,所有 UI 介面都必須有顯而易見且符合無障礙規範的聚焦狀態,如下圖所示:

圖 4. 交易分頁。

圖 5. 將懸停手勢替換為懸停動作的控制項。

請務必針對觸控專屬互動下隱藏的核心功能 (例如按住動作、滑動或其他多點觸控手勢) 實作鍵盤或滑鼠替代功能。其中一個解決方式是提供將懸停在平面上時顯示的按鈕。

如要進一步瞭解鍵盤、觸控板和滑鼠支援,請參閱「 大螢幕的輸入相容性」。

進一步強化使用者輸入內容

如要為應用程式取得電腦級功能,請考慮採用以下效能導向的輸入內容。

內容選單

Android 內容選單是另一種加速使用者導向應用程式功能的加速器,只要按一下滑鼠或觸控板的次要按鈕,或在觸控螢幕上按住即可觸發:

圖 6. 按一下滑鼠右鍵即可看到內容選單。

拖曳

建立拖曳互動 (例如下圖中的互動) 後,即可在應用程式中提供有效率且直覺的效率提升功能。詳情請參閱「拖曳」。

圖 7. 在檔案樹狀結構介面中拖曳。

觸控筆支援

觸控筆支援功能對於繪圖和筆記應用程式至關重要。實作專為使用觸控筆輸入功能的互動,為配備觸控筆的 Chromebook 和平板電腦提供進階支援。

設計觸控筆互動時,請考慮不同觸控筆硬體的可能變化版本。如需觸控筆 API 的大綱,請參閱「 大螢幕的輸入相容性」。

使用回應式版面配置

讓應用程式無論螢幕狀態為何 (全螢幕、直向、橫向或視窗) 都善用螢幕空間。以下是一些良好的空間使用範例:

  • 顯示應用程式架構。
  • 將文字長度和圖片大小限制在最大寬度。
  • 更有效地在應用程式工具列中使用房地產。
  • 讓應用程式根據滑鼠 (而非拇指用量) 調整應用程式用途,改善 UI 預設用途。
  • 最佳化影片和圖片的大小、為所有媒體設定一組寬度和高度上限,並盡可能提升可讀性和瀏覽便利性。
  • 實作回應式資料欄系統。詳情請參閱「回應式版面配置格線」。
  • 視需要使用資料欄系統調整 UI 大小並修改。盡量避免開啟新視窗。
  • 移除或降低水平捲動元件的重要性。
  • 避免使用全螢幕互動視窗。針對所有非關鍵動作使用內嵌 UI,例如進度指標和快訊。
  • 使用經過改善的 UI 元件,例如時間和日期挑選器、文字欄位,以及專為滑鼠、鍵盤和大螢幕設計的選單。
  • 針對小型或中型編輯功能,使用內嵌編輯、額外資料欄或強制回應 UI,而非新活動。
  • 移除或修改懸浮動作按鈕 (FAB),提升鍵盤導覽體驗。根據預設,FAB 位置會以半透明分頁順序排序。而是應先將其設定完成,因為這是主要動作,或是替換為其他更高層級的預設用途。

圖 8. 手機和電腦大小螢幕上的回應式版面配置模擬圖。

系統層級的返回按鈕是保留自 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 settingsWindowManager.LayoutParams 的呼叫。

其他學習教材

如要進一步瞭解如何針對 Chromebook 最佳化 Android 應用程式,請參閱下列資源: