Kể từ ngày 27 tháng 3 năm 2025, bạn nên sử dụng android-latest-release
thay vì aosp-main
để xây dựng và đóng góp cho AOSP. Để biết thêm thông tin, hãy xem phần Thay đổi đối với AOSP.
Phát triển ứng dụng không có thư viện Giao diện người dùng trên ô tô
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Thư viện giao diện người dùng trên ô tô (car-ui-library) là một thư viện giao diện người dùng trên ô tô tự nhất quán mà nhà sản xuất thiết bị gốc (OEM) có thể tuỳ chỉnh. Bạn nên sử dụng thư viện car-ui-library để tạo ứng dụng. Nếu không thể, bạn có hai lựa chọn thay thế:
- Kể từ Android 12, bạn có thể sử dụng
car-rotary-lib
, một tập hợp con của thư viện car-ui-library.
- Trên Android 11, bạn PHẢI triển khai
FocusParkingView
, FocusArea
và DirectManipulationHelper
của riêng mình như mô tả bên dưới.
Triển khai FocusParkingView
Bạn có thể triển khai FocusParkingView
của riêng mình hoặc sao chép lớp từ thư viện car-ui-library vào dự án.
Cách triển khai FocusParkingView
:
- Mã hoá cứng tên lớp hỗ trợ tiếp cận để
RotaryService
có thể nhận ra lớp đó:
@Override
public CharSequence getAccessibilityClassName() {
return "com.android.car.ui.FocusParkingView";
}
Triển khai FocusArea
Giống như FocusParkingView
, bạn có thể triển khai FocusArea
của riêng mình hoặc sao chép lớp này từ thư viện car-ui vào dự án.
Cách triển khai FocusArea
:
- Mã hoá cứng tên lớp hỗ trợ tiếp cận để dịch vụ xoay có thể nhận ra tên đó:
@Override
public CharSequence getAccessibilityClassName() {
return "com.android.car.ui.FocusArea";
}
Triển khai DirectManipulationHelper
Đây là một lớp tiện ích. Bạn có thể sao chép lớp này từ thư viện car-ui-library vào dự án của mình.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-07-27 UTC."],[],[],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."]]