自 2025 年 3 月 27 日起,我們建議您使用 android-latest-release
而非 aosp-main
建構及貢獻 AOSP。詳情請參閱「Android 開放原始碼計畫變更」。
在不使用 Car UI 程式庫的情況下開發應用程式
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
Car UI 程式庫 (car-ui-library) 是一個自洽的車用 UI 程式庫,可供原始設備製造商自訂。Google 強烈建議您使用 car-ui-library 建立應用程式。如果無法使用此方法,則有兩種替代方案:
- 自 Android 12 起,您可以使用
car-rotary-lib
,這是 car-ui-library 的子集。
- 在 Android 11 中,您必須實作自己的
FocusParkingView
、FocusArea
和 DirectManipulationHelper
,如下所述。
實作 FocusParkingView
您可以實作自己的 FocusParkingView
,也可以將類別從 car-ui-library 複製到專案。
如要實作 FocusParkingView
:
- 將無障礙類別名稱硬式編碼,讓
RotaryService
能夠辨識:@Override
public CharSequence getAccessibilityClassName() {
return "com.android.car.ui.FocusParkingView";
}
實作 FocusArea
如同 FocusParkingView
,您可以實作自己的 FocusArea
,也可以將類別從 car-ui-library 複製到專案。
如要實作 FocusArea
:
- 將無障礙類別名稱硬式編碼,以便旋轉服務辨識:
@Override
public CharSequence getAccessibilityClassName() {
return "com.android.car.ui.FocusArea";
}
實作 DirectManipulationHelper
這是公用程式類別。您可以將該類別從 car-ui-library 複製到專案。
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2025-07-27 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-07-27 (世界標準時間)。"],[],[],null,["# Develop apps without the Car UI library\n\nThe\n[Car UI Library (car-ui-library)](/docs/automotive/hmi/car_ui)\nis a self-consistent automotive UI library that can be customized by OEMs. Google strongly\nrecommends you use the car-ui-library to create your app. If this isn't feasible, there are\ntwo alternatives:\n\n- From Android 12, you can use `car-rotary-lib`, a subset of car-ui-library.\n- On Android 11, you MUST implement your own `FocusParkingView`, `FocusArea`, and `DirectManipulationHelper` as described below.\n\nImplement FocusParkingView\n--------------------------\n\nYou either can implement your own `FocusParkingView` or copy the class from the\ncar-ui-library to your project.\n\nTo implement `FocusParkingView`:\n\n1. Hard code the accessibility class name so that the `RotaryService` can recognize it: \n\n ```\n @Override\n public CharSequence getAccessibilityClassName() {\n return \"com.android.car.ui.FocusParkingView\";\n }\n ```\n\nImplement FocusArea\n-------------------\n\nLike `FocusParkingView`, you can either implement your own `FocusArea`\nor copy the class from the car-ui-library to your project.\n\nTo implement `FocusArea`:\n\n1. Hard code the accessibility class name so that rotary service can recognize it: \n\n ```\n @Override\n public CharSequence getAccessibilityClassName() {\n return \"com.android.car.ui.FocusArea\";\n }\n ```\n\nImplement DirectManipulationHelper\n----------------------------------\n\nThis is a utility class. You can copy the class from the car-ui-library to your project."]]