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

重新定義現代運算在大螢幕上呈現的樣貌時,Android 應用程式扮演了重要的角色。但無法讓使用者享有最佳體驗。

本頁會詳細說明如何針對筆記型電腦和可翻轉的板型規格打造專屬體驗。請參閱完整的測試清單,進一步瞭解如何測試應用程式與這些裝置的相容性。

運用支援任意形式的多視窗模式

在 ChromeOS 上實作 Android 應用程式提供基本的多視窗模式支援。Android 不會一直顯示全螢幕,而是會將 ChromeOS 上的應用程式轉譯為任意形式視窗容器,並更適合這些裝置。

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

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

您可以採用下列最佳做法,改善應用程式在 ChromeOS 上執行時的使用者體驗:

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

自訂頂端列顏色

ChromeOS 使用應用程式主題,為應用程式頂端顯示的頂端列加上顏色,當使用者按住視窗控制項和返回按鈕時顯示。如要讓應用程式看起來更美觀,並專為 ChromeOS 打造,請在應用程式主題中定義 colorPrimarycolorPrimaryDark 值 (如果可能的話)。

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 元件,例如時間和日期挑選器、文字欄位,以及專為滑鼠、鍵盤和大型螢幕設計的選單。
  • 針對中小型編輯功能,使用內嵌編輯、額外資料欄或強制回應 UI,而非新活動。
  • 移除或修改懸浮動作按鈕 (FAB),提升鍵盤瀏覽體驗。根據預設,懸浮動作按鈕 (FAB) 位置是依次 Tab 鍵排序。應優先執行,因為這是主要動作,或替換為其他較高層級的預設用途。

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

系統層級的返回按鈕是指從 Android 手持根複製的模式,但此模式在電腦版環境中不合宜。

隨著應用程式越來越針對筆電環境進行自訂,請考慮改用不強調返回按鈕的導覽模式。讓應用程式提供應用程式內返回按鈕、導覽標記或其他逸出路徑 (例如關閉或取消按鈕),做為其大螢幕 UI 的一部分處理自身的記錄堆疊。

您可以透過在 <activity> 標記內設定偏好設定,控制應用程式是否在視窗中顯示返回按鈕。設定 true 會隱藏返回按鈕:

<meta-data android:name="WindowManagerPreference:SuppressWindowControlNavigationButton" android:value="true" />

解決相機預覽圖片相關問題

如果應用程式只能在直向模式下執行,但使用者在橫向螢幕上執行,則可能會發生相機問題。在此情況下,預覽畫面或擷取的結果可能會錯誤旋轉。

相容性模式會改變 ChromeOS 中系統處理事件的方式 (例如方向變更)。這有助於避免在方向錯誤模式下使用相機。如要啟用相容性模式,必須符合下列條件:

  • 指定 Android 7.0 (API 級別 24) 以上版本為目標。SDK 最低級別可以更低。
  • 請將應用程式設為可調整大小。

處理裝置設定

針對在 ChromeOS 上執行的應用程式,請考慮以下裝置設定。

調整音量

ChromeOS 裝置屬於固定音量裝置:播放音效的應用程式有專屬的音量控制項。請遵循「使用固定音量裝置」的指南。

調整螢幕亮度

您無法在 ChromeOS 上調整裝置亮度。系統會忽略對 system settingsWindowManager.LayoutParams 的呼叫。

其他教材

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