Ứng dụng Android chạy trên mọi loại thiết bị: điện thoại, máy tính bảng, thiết bị có thể gập lại, thiết bị ChromeOS, ô tô, TV và thậm chí cả thiết bị thực tế mở rộng (XR). Để thích ứng với môi trường đa dạng này, ứng dụng của bạn phải hỗ trợ mọi kiểu dáng thiết bị và kích thước màn hình.
Android 16 (API cấp 36) cho phép các ứng dụng thích ứng với nhiều hệ số hình dạng và kích thước màn hình bằng cách ghi đè các quy tắc hạn chế của ứng dụng đối với hướng màn hình, tỷ lệ khung hình và khả năng thay đổi kích thước. Các chế độ ghi đè áp dụng cho những thiết bị có chiều rộng nhỏ nhất >= 600 dp. Điều này xác định những thiết bị sau:
- Máy tính bảng
- Màn hình bên trong của thiết bị có thể gập lại có màn hình lớn
- Màn hình kiểu máy tính (trên tất cả các hệ số dạng)
Các ứng dụng nhắm đến API cấp 36 có thể đổi kích thước và có thể chuyển sang chế độ nhiều cửa sổ (tương đương với resizeableActivity="true"
) nếu chiều rộng nhỏ nhất của màn hình là >= 600 dp.

Android 16 áp dụng một mô hình nhất quán về thiết kế ứng dụng thích ứng, giúp tối ưu hoá trải nghiệm người dùng bằng cách tôn trọng lựa chọn ưu tiên của người dùng về hướng thiết bị, tỷ lệ khung hình và kích thước màn hình.
Các thay đổi
Các API và thuộc tính sau đây trong tệp kê khai sẽ bị bỏ qua đối với những ứng dụng nhắm đến Android 16 (API cấp 36) trên màn hình lớn:
Thuộc tính hoặc API | Giá trị bị bỏ qua |
---|---|
screenOrientation |
portrait , landscape , reversePortrait , reverseLandscape , sensorPortrait , sensorLandscape , userPortrait , userLandscape |
resizeableActivity |
tất cả |
minAspectRatio |
tất cả |
maxAspectRatio |
tất cả |
setRequestedOrientation() getRequestedOrientation() |
portrait , landscape , reversePortrait , reverseLandscape , sensorPortrait , sensorLandscape , userPortrait , userLandscape |
Ngoại lệ
Sau đây là những trường hợp ngoại lệ đối với các thay đổi trên Android 16:
Màn hình nhỏ hơn sw600dp (hầu hết điện thoại, thiết bị có thể gập lại và màn hình ngoài của thiết bị có thể gập lại có màn hình lớn)
Trò chơi, dựa trên cờ
android:appCategory
Phát hành trò chơi bằng Android App Bundle và Tính năng ký ứng dụng của Play, cho phép Google Play quản lý cờ này và tự động cung cấp các lợi ích của gói ứng dụng. Xem thêm phần Tổng quan về tệp kê khai ứng dụng.
Người dùng chọn sử dụng hành vi mặc định của ứng dụng trong phần cài đặt tỷ lệ khung hình
Ngừng
Để chọn không sử dụng hành vi API cấp 36, hãy khai báo thuộc tính tệp kê khai PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY
.
Để chọn không sử dụng một hoạt động cụ thể, hãy đặt thuộc tính trong phần tử <activity>
:
<activity ...>
<property
android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY"
android:value="true" />
...
</activity>
Để chọn không sử dụng cho toàn bộ ứng dụng, hãy đặt thuộc tính này trong phần tử <application>
:
<application ...>
<property
android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY"
android:value="true" />
...
</application>
Kiểm thử
Để kiểm thử xem ứng dụng của bạn có chịu ảnh hưởng của các thay đổi trên Android 16 hay không, hãy sử dụng trình mô phỏng Pixel Tablet và Pixel Fold trong Android Studio, đồng thời đặt targetSdkPreview = "Baklava"
trong tệp build.gradle
của mô-đun ứng dụng.
Hoặc sử dụng khung tương thích của ứng dụng trên các thiết bị kiểm thử bằng cách bật cờ UNIVERSAL_RESIZABLE_BY_DEFAULT (xem bài viết Công cụ khung tương thích).
Bạn có thể tự động hoá quy trình kiểm thử bằng khung kiểm thử Espresso và API kiểm thử Jetpack Compose.
Các vấn đề thường gặp
Những ứng dụng hạn chế hướng thiết bị, tỷ lệ khung hình hoặc khả năng đổi kích thước của ứng dụng có thể gặp vấn đề về hiển thị trên Android 16, chẳng hạn như bố cục chồng chéo.
Để mang lại trải nghiệm tối ưu cho người dùng trên điện thoại, thiết bị có thể gập lại, máy tính bảng, thiết bị ChromeOS, màn hình ô tô và XR, hãy tạo ứng dụng có khả năng thích ứng và phản hồi:
Tránh các thành phần giao diện người dùng bị kéo giãn: Bố cục được thiết kế cho màn hình điện thoại dọc tiêu chuẩn có thể không phù hợp với các tỷ lệ khung hình khác. Ví dụ: các phần tử trên giao diện người dùng lấp đầy toàn bộ chiều rộng của màn hình sẽ xuất hiện ở trạng thái bị kéo giãn theo hướng ngang. Thêm chiều rộng tối đa cho các thành phần để tránh bị kéo giãn.
Cho phép bố cục cuộn: Nếu bố cục không cuộn, người dùng có thể không truy cập được vào các nút hoặc thành phần giao diện người dùng khác nằm ngoài màn hình ở hướng ngang. Cho phép bố cục ứng dụng cuộn để đảm bảo có thể truy cập vào tất cả nội dung bất kể chiều cao của màn hình.
Đảm bảo khả năng tương thích của camera ở chế độ dọc và ngang: Bản xem trước của kính ngắm camera giả định một tỷ lệ khung hình và hướng cụ thể so với cảm biến camera có thể dẫn đến bản xem trước bị kéo giãn hoặc lật trên màn hình không tuân thủ. Đảm bảo kính ngắm xoay đúng cách khi có thay đổi về hướng. Cho phép kính ngắm điều chỉnh theo tỷ lệ khung hình giao diện người dùng khác với tỷ lệ khung hình cảm biến.
Duy trì trạng thái trong quá trình thay đổi kích thước cửa sổ: Việc xoá các hạn chế về hướng và tỷ lệ khung hình có thể dẫn đến việc kích thước cửa sổ ứng dụng thường xuyên thay đổi để đáp ứng cách người dùng muốn sử dụng ứng dụng, chẳng hạn như bằng cách xoay, gập hoặc mở thiết bị hoặc bằng cách đổi kích thước ứng dụng ở chế độ nhiều cửa sổ hoặc chế độ cửa sổ trên máy tính. Các thay đổi về cấu hình như thay đổi hướng và đổi kích thước cửa sổ sẽ khiến hoạt động được tạo lại (theo mặc định). Để đảm bảo mang lại trải nghiệm tối ưu cho người dùng, hãy duy trì trạng thái ứng dụng trong quá trình thay đổi cấu hình để ứng dụng của bạn giữ lại dữ liệu (chẳng hạn như dữ liệu đầu vào của biểu mẫu) và người dùng có thể duy trì bối cảnh.
Sử dụng các lớp kích thước cửa sổ: Hỗ trợ nhiều kích thước cửa sổ và tỷ lệ khung hình mà không cần tuỳ chỉnh theo từng thiết bị. Giả sử kích thước cửa sổ sẽ thay đổi thường xuyên. Sử dụng các lớp kích thước cửa sổ để mô tả kích thước cửa sổ, sau đó áp dụng một bố cục thích ứng phù hợp.
Tạo bố cục thích ứng: Trong các lớp kích thước cửa sổ, bố cục thích ứng sẽ điều chỉnh theo những thay đổi về kích thước hiển thị để luôn tạo ra một bản trình bày ứng dụng tối ưu.
Dòng thời gian
Android 16 (2025): Hỗ trợ mọi hướng và tỷ lệ khung hình, đồng thời khả năng thay đổi kích thước ứng dụng là trải nghiệm cơ bản cho các thiết bị có màn hình lớn (chiều rộng màn hình nhỏ nhất từ 600 dp trở lên) đối với những ứng dụng nhắm đến API cấp 36. Tuy nhiên, nhà phát triển có thể chọn không sử dụng.
Bản phát hành Android năm 2026: Hỗ trợ tất cả các hướng và tỷ lệ khung hình, đồng thời khả năng thay đổi kích thước ứng dụng sẽ là trải nghiệm cơ bản cho các thiết bị có màn hình lớn (chiều rộng màn hình nhỏ nhất >= 600 dp) đối với những ứng dụng nhắm đến API cấp 37. Nhà phát triển sẽ không có lựa chọn từ chối.
Cấp API mục tiêu | Thiết bị áp dụng | Cho phép nhà phát triển chọn không sử dụng |
---|---|---|
36 (Android 16) | Thiết bị có màn hình lớn (chiều rộng màn hình nhỏ nhất >= 600 dp) | Có |
37 (Dự kiến) | Thiết bị có màn hình lớn (chiều rộng màn hình nhỏ nhất >= 600 dp) | Không |
Thời hạn nhắm đến các cấp độ API cụ thể tuỳ thuộc vào từng cửa hàng ứng dụng. Kể từ tháng 8 năm 2026, Google Play sẽ yêu cầu các ứng dụng nhắm đến API cấp 36 và kể từ tháng 8 năm 2027, các ứng dụng sẽ phải nhắm đến API cấp 37.
Tài nguyên khác
- Thay đổi về hành vi: Ứng dụng nhắm đến Android 16 trở lên
- Xây dựng ứng dụng thích ứng
- Những việc nên làm và không nên làm đối với biểu tượng thích ứng