Android 14 mang đến cho nhà phát triển các tính năng và API tuyệt vời. Nội dung sau đây giúp bạn tìm hiểu các tính năng cho ứng dụng cũng như làm quen với các API có liên quan.
Để biết danh sách chi tiết về các API đã thêm, sửa đổi và xoá, hãy đọc báo cáo điểm khác biệt về API. Để biết thông tin chi tiết về các API đã thêm, hãy truy cập Tài liệu tham khảo về API cho Android. Đối với Android 14, hãy tìm các API đã được thêm vào API cấp 34. Để tìm hiểu những khía cạnh mà những thay đổi của nền tảng có thể ảnh hưởng đến ứng dụng của bạn, hãy nhớ tham khảo các thay đổi về hành vi của Android 14 đối với ứng dụng nhắm đến Android 14 và tất cả ứng dụng.
Quốc tế hoá
Lựa chọn ưu tiên về ngôn ngữ cho mỗi ứng dụng
Android 14 扩展了 Android 13(API 级别 33)中引入的按应用设定语言功能,并包含以下额外功能:
自动生成应用的
localeConfig
:从 Android Studio Giraffe Canary 7 和 AGP 8.1.0-alpha07 开始,您可以将应用配置为自动支持各应用语言偏好设定。Android Gradle 插件会根据您的项目资源生成LocaleConfig
文件,并在最终清单文件中添加对该文件的引用,这样您就不再需要手动创建或更新该文件。AGP 使用应用模块的res
文件夹中的资源以及任何库模块依赖项来确定要在LocaleConfig
文件中添加的语言区域。动态更新应用的
localeConfig
:使用LocaleManager
方法中的setOverrideLocaleConfig()
和getOverrideLocaleConfig()
可以在设备的系统设置中动态更新应用的受支持语言列表。有了这种灵活性,您可以按区域自定义支持的语言列表、运行 A/B 实验,或者如果您的应用通过服务器端推送进行本地化,则可以提供更新后的语言区域列表。输入法 (IME) 的应用语言可见性:IME 可以利用
getApplicationLocales()
方法查看当前应用的语言,并将 IME 语言与该语言进行匹配。
API Biến tố ngữ pháp
有 30 亿人在使用区分性别的语言,此类语言的语法类别(例如名词、动词、形容词和介词)会根据您交谈所涉及的人或物的性别而变化。传统上,许多区分性别的语言使用阳性语法性别作为默认或通用性别。
以错误的语法性别来称呼用户,例如以阳性语法性别来称呼女性,可能会对她们的表现和态度产生负面影响。相比之下,界面语言如果能正确反映用户的语法性别,就可以提高用户互动度,并提供更个性化、更自然的用户体验。
Để xây dựng giao diện người dùng cho các ngôn ngữ có giống ngữ pháp, Android 14 ra mắt API Biến tố ngữ pháp, cho phép bạn hỗ trợ giống ngữ pháp mà không cần tái cấu trúc ứng dụng.
Lựa chọn ưu tiên theo khu vực
Các lựa chọn ưu tiên theo khu vực cho phép người dùng cá nhân hoá đơn vị nhiệt độ, ngày đầu tiên trong tuần và hệ thống đánh số. Có thể người Châu Âu sinh sống ở Hoa Kỳ sẽ thích dùng đơn vị nhiệt độ bằng độ C thay vì độ F và muốn ứng dụng coi thứ Hai là đầu tuần thay vì mặc định ở Hoa Kỳ là Chủ nhật.
Các trình đơn Cài đặt Android mới cho những lựa chọn ưu tiên này là một nơi tập trung và dễ thấy để người dùng thay đổi các lựa chọn ưu tiên cho ứng dụng. Các lựa chọn ưu tiên này cũng được duy trì thông qua tính năng sao lưu và khôi phục. Một số API và ý định (ví dụ: getTemperatureUnit
và getFirstDayOfWeek
) cấp cho ứng dụng quyền đọc các lựa chọn ưu tiên của người dùng, nhờ đó, ứng dụng của bạn có thể điều chỉnh cách trình bày thông tin. Bạn cũng có thể đăng ký BroadcastReceiver
trên ACTION_LOCALE_CHANGED
để xử lý các thay đổi về cấu hình ngôn ngữ khi các lựa chọn ưu tiên theo khu vực được thay đổi.
Để tìm các chế độ cài đặt này, hãy mở ứng dụng Cài đặt rồi chuyển đến Hệ thống > Ngôn ngữ và phương thức nhập > Lựa chọn ưu tiên theo khu vực.
![](https://developer.android.google.cn/static/about/versions/14/images/regional-preferences.png?authuser=4&hl=vi)
![](https://developer.android.google.cn/static/about/versions/14/images/regional-preferences-temperature.png?authuser=4&hl=vi)
Hỗ trợ tiếp cận
Điều chỉnh tỷ lệ phông chữ phi tuyến tính lên đến 200%
Kể từ Android 14, hệ thống sẽ hỗ trợ việc chuyển tỷ lệ phông chữ lên đến 200%, mang đến cho người dùng thị lực kém thêm một số chế độ hỗ trợ tiếp cận phù hợp với Nguyên tắc hỗ trợ tiếp cận nội dung trên web (WCAG).
Để ngăn các thành phần văn bản cỡ lớn trên màn hình bị chuyển tỷ lệ quá lớn, hệ thống sẽ áp dụng một đường cong tỷ lệ phi tuyến tính. Chiến lược điều chỉnh tỷ lệ này có nghĩa là văn bản lớn không chuyển tỷ lệ theo cùng mức độ với văn bản nhỏ hơn. Việc chuyển tỷ lệ phông chữ phi tuyến tính giúp duy trì hệ phân cấp tỷ lệ giữa các phần tử có kích thước khác nhau, đồng thời giảm thiểu các vấn đề với việc chuyển tỷ lệ văn bản tuyến tính ở mức cao (chẳng hạn như văn bản bị cắt hoặc văn bản trở nên khó đọc hơn do kích thước trên màn hình cực kỳ lớn).
Kiểm thử ứng dụng với phông chữ phi tuyến tính
![](https://developer.android.google.cn/static/images/about/versions/14/accessibility-font-options.png?authuser=4&hl=vi)
Nếu bạn đã sử dụng đơn vị pixel được điều chỉnh theo tỷ lệ (sp) để xác định cỡ chữ, thì các tuỳ chọn bổ sung và cải thiện tỷ lệ này sẽ tự động được áp dụng cho văn bản trong ứng dụng. Tuy nhiên, bạn vẫn nên kiểm thử giao diện người dùng khi bật cỡ chữ tối đa (200%) để đảm bảo ứng dụng áp dụng đúng cỡ chữ và có thể phù hợp với cỡ chữ lớn hơn mà không ảnh hưởng đến khả năng hữu dụng.
Để bật kích thước phông chữ 200%, hãy làm theo các bước sau:
- Mở ứng dụng Cài đặt rồi chuyển đến phần Hỗ trợ tiếp cận > Văn bản và kích thước hiển thị.
- Đối với tuỳ chọn Kích thước phông chữ, hãy nhấn vào biểu tượng dấu cộng (+) cho đến khi bật chế độ cài đặt kích thước phông chữ tối đa, như trong hình ảnh kèm theo phần này.
Sử dụng đơn vị pixel được điều chỉnh theo tỷ lệ (sp) đối với kích thước văn bản
Hãy nhớ luôn chỉ định kích thước văn bản theo đơn vị sp. Khi ứng dụng của bạn sử dụng đơn vị sp, Android có thể áp dụng kích thước văn bản mà người dùng ưu tiên và chuyển tỷ lệ văn bản một cách thích hợp.
Đừng sử dụng đơn vị sp cho khoảng đệm hoặc xác định chiều cao chế độ xem giả sử khoảng đệm ngầm định: với kích thước sp theo tỷ lệ phông chữ phi tuyến tính có thể không tỷ lệ, vì vậy 4 sp + 20 sp có thể không bằng 24 sp.
Chuyển đổi đơn vị pixel được điều chỉnh theo tỷ lệ (sp)
Sử dụng TypedValue.applyDimension()
để chuyển đổi từ đơn vị sp sang pixel và sử dụng TypedValue.deriveDimension()
để chuyển đổi pixel thành sp. Các phương thức này tự động áp dụng đường cong tỷ lệ phi tuyến tính thích hợp.
Tránh mã hoá cứng phương trình bằng cách sử dụng Configuration.fontScale
hoặc DisplayMetrics.scaledDensity
. Vì việc chuyển tỷ lệ phông chữ là phi tuyến tính, nên trường scaledDensity
không còn chính xác nữa. Bạn chỉ nên sử dụng trường fontScale
cho mục đích cung cấp thông tin vì phông chữ không còn được điều chỉnh theo tỷ lệ với một giá trị vô hướng duy nhất.
Sử dụng đơn vị sp cholineHeight
Luôn xác định android:lineHeight
bằng cách sử dụng đơn vị sp thay vì dp để chiều cao dòng điều chỉnh theo tỷ lệ cùng với văn bản. Ngược lại, nếu văn bản là sp nhưng lineHeight
lại ở dạng dp hoặc px, thì văn bản sẽ không được điều chỉnh theo tỷ lệ và trông bị chật.
TextView sẽ tự động sửa lineHeight
để giữ nguyên tỷ lệ dự định của bạn, nhưng chỉ khi cả textSize
và lineHeight
được xác định theo đơn vị sp.
Máy ảnh và nội dung nghe nhìn
Ultra HDR cho hình ảnh
![](https://developer.android.google.cn/static/images/about/versions/14/SDR-HDR-compare.png?authuser=4&hl=vi)
Android 14 bổ sung tính năng hỗ trợ hình ảnh có Dải động cao (HDR) giúp giữ lại nhiều thông tin hơn từ cảm biến khi chụp ảnh, giúp mang lại màu sắc rực rỡ và độ tương phản cao hơn. Android sử dụng định dạng Ultra HDR, hoàn toàn tương thích ngược với hình ảnh JPEG, cho phép các ứng dụng tương tác liền mạch với hình ảnh HDR, hiển thị các hình ảnh đó trong Dải động tiêu chuẩn (SDR) khi cần.
Việc kết xuất những hình ảnh này trong giao diện người dùng trong HDR được khung thực hiện tự động khi ứng dụng của bạn chọn sử dụng giao diện người dùng HDR cho Cửa sổ hoạt động, thông qua một mục nhập tệp kê khai hoặc trong thời gian chạy bằng cách gọi Window.setColorMode()
. Bạn cũng có thể chụp hình ảnh tĩnh Ultra HDR được nén trên các thiết bị được hỗ trợ. Khi có nhiều màu hơn được khôi phục từ cảm biến, việc chỉnh sửa trong bài đăng có thể linh hoạt hơn. Bạn có thể dùng Gainmap
liên kết với hình ảnh Ultra HDR để kết xuất các hình ảnh đó bằng OpenGL hoặc Vulkan.
Thu phóng, Lấy nét, Xem sau và các tính năng khác trong các tiện ích của máy ảnh
Android 14 升级并改进了相机扩展,使应用能够处理更长的处理时间,从而支持在受支持的设备上使用弱光摄影等计算密集型算法来改进图像。在使用相机扩展功能时,这些功能可让用户获得更可靠的体验。这些改进的示例包括:
- 动态静态拍摄的处理延迟时间估算值会根据当前的场景和环境条件提供更准确的静态拍摄延迟时间估算值。调用
CameraExtensionSession.getRealtimeStillCaptureLatency()
以获取具有两种延迟时间估算方法的StillCaptureLatency
对象。getCaptureLatency()
方法返回onCaptureStarted
和onCaptureProcessStarted()
之间的估计延迟时间,getProcessingLatency()
方法返回onCaptureProcessStarted()
与最终处理后的帧可用之间的估计延迟时间。 - 支持拍摄进度回调,以便应用可以显示长时间运行的静态拍摄处理操作的当前进度。您可以使用
CameraExtensionCharacteristics.isCaptureProcessProgressAvailable
检查此功能是否可用,如果可用,请实现onCaptureProcessProgressed()
回调,该回调会将进度(从 0 到 100)以参数形式传入。 特定于扩展程序的元数据,例如
CaptureRequest.EXTENSION_STRENGTH
,用于调整扩展效果的程度,例如使用EXTENSION_BOKEH
时的背景模糊处理程度。相机扩展中的静态拍摄功能(用于静态拍摄)的后视图功能,相比最终图片,提供处理较少的图片。如果扩展程序延长了处理延迟时间,则可以提供浏览后图片作为占位符来改善用户体验,之后可针对最终图片关闭该功能。您可以通过
CameraExtensionCharacteristics.isPostviewAvailable
检查此功能是否可用。然后,您可以将OutputConfiguration
传递给ExtensionSessionConfiguration.setPostviewOutputConfiguration
。支持
SurfaceView
,可实现更优化、更节能的预览渲染路径。支持在使用扩展程序期间点按即可对焦和缩放。
Thu phóng trong cảm biến
Khi REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE
trong CameraCharacteristics
chứa SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
, ứng dụng của bạn có thể dùng các tính năng cảm biến nâng cao để tạo luồng RAW đã cắt có cùng điểm ảnh với trường nhìn toàn bộ bằng CaptureRequest
với mục tiêu RAW có trường hợp sử dụng phát trực tuyến được đặt thành CameraMetadata.SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
.
Bằng cách triển khai các chế độ kiểm soát ghi đè yêu cầu, máy ảnh mới cập nhật sẽ cho phép người dùng kiểm soát tính năng thu phóng ngay cả trước khi các chế độ điều khiển khác cho máy ảnh sẵn sàng.
Âm thanh USB không tổn hao
Android 14 开始支持无损音频格式,通过 USB 有线耳机提供发烧级体验。您可以查询 USB 设备的首选混音器属性,注册监听器以监听首选混音器属性的变化,并使用 AudioMixerAttributes
类配置混音器属性。此类表示格式,例如声道掩码、采样率和混音器行为。该类允许直接发送音频,而不进行混音、音量调整或处理效果。
Năng suất và công cụ dành cho nhà phát triển
Trình quản lý thông tin xác thực
Android 14 添加了 Credential Manager 作为平台 API,并通过使用 Google Play 服务的 Jetpack 库为 Android 4.4(API 级别 19)设备提供了额外的支持。凭据管理器旨在使用 API 通过用户配置的凭据提供程序检索和存储凭据,让用户更轻松地登录。凭据管理器在一个 API 中支持多种登录方法,包括用户名和密码、通行密钥和联合登录解决方案(如“使用 Google 账号登录”)。
通行密钥具有许多优势。例如,通行密钥基于业界标准构建,可在不同的操作系统和浏览器生态系统中使用,还可用于网站和应用。
如需了解详情,请参阅凭据管理器和通行密钥文档以及关于 Credential Manager 和通行密钥的博文。
Health Connect
Health Connect là một kho lưu trữ trên thiết bị dành cho dữ liệu sức khoẻ và hoạt động thể dục của người dùng. Hộp cát về quyền riêng tư cho phép người dùng chia sẻ dữ liệu giữa các ứng dụng yêu thích, với một nơi duy nhất để kiểm soát dữ liệu mà họ muốn chia sẻ với các ứng dụng này.
Trên các thiết bị chạy phiên bản Android trước Android 14, bạn có thể tải Health Connect xuống dưới dạng ứng dụng trên Cửa hàng Google Play. Bắt đầu từ Android 14, Health Connect là một phần của nền tảng này và nhận các bản cập nhật thông qua bản cập nhật hệ thống Google Play mà không cần tải xuống riêng. Nhờ vậy, Health Connect có thể được cập nhật thường xuyên, và các ứng dụng của bạn có thể dựa vào Health Connect có sẵn trên các thiết bị chạy Android 14 trở lên. Người dùng có thể truy cập vào Health Connect trong phần Cài đặt của thiết bị, trong đó các chế độ kiểm soát quyền riêng tư được tích hợp vào phần cài đặt hệ thống.
![](https://developer.android.google.cn/static/images/about/versions/14/health-connect-screen.png?authuser=4&hl=vi)
![](https://developer.android.google.cn/static/images/about/versions/14/health-connect-permissions.png?authuser=4&hl=vi)
Health Connect có một số tính năng mới trong Android 14, chẳng hạn như tuyến đường tập thể dục, cho phép người dùng chia sẻ tuyến đường tập thể dục của họ mà có thể trực quan hoá được trên bản đồ. Tuyến được định nghĩa là danh sách vị trí được lưu trong một khoảng thời gian và ứng dụng của bạn có thể chèn các tuyến đường vào phiên tập thể dục, liên kết chúng với nhau. Để đảm bảo rằng người dùng có toàn quyền kiểm soát đối với dữ liệu nhạy cảm này, họ phải cho phép chia sẻ từng tuyến với các ứng dụng khác.
Để biết thêm thông tin, hãy xem tài liệu về Health Connect (Kết nối sức khoẻ) và bài đăng trên blog về Tính năng mới trong Android Health.
Nội dung cập nhật OpenJDK 17
Android 14 将继续更新 Android 的核心库,以与最新 OpenJDK LTS 版本中的功能保持一致,包括适合应用和平台开发者的库更新和 Java 17 语言支持。
其中包含以下功能和改进:
- 将大约 300 个
java.base
类更新为支持 Java 17。 - 文本块 - 为 Java 编程语言引入了多行字符串字面量。
- instanceof 模式匹配:可让对象在
instanceof
中被视为具有特定类型,而无需任何额外的变量。 - 密封类:允许您限制哪些类和接口可以扩展或实现它们。
得益于 Google Play 系统更新 (Project Mainline),6 亿多台设备能够接收包含这些更改的最新 Android 运行时 (ART) 更新。我们致力于为应用提供更加一致、安全的跨设备环境,并为用户提供独立于平台版本的新功能。
Java 和 OpenJDK 是 Oracle 及/或其关联公司的商标或注册商标。
Những điểm cải tiến cho cửa hàng ứng dụng
Android 14 引入了多个 PackageInstaller
API,可帮助应用商店改善其用户体验。
下载之前请求批准安装
安装或更新应用可能需要用户批准。
例如,当使用 REQUEST_INSTALL_PACKAGES
权限的安装程序尝试安装新应用时。在之前的 Android 版本中,应用商店只有在 APK 写入安装会话且该会话已提交之后才能请求用户批准。
从 Android 14 开始,requestUserPreapproval()
方法可让安装程序在提交安装会话之前请求用户批准。此项改进可让应用商店将任何 APK 的下载操作推迟到用户批准安装之后。此外,用户批准安装后,应用商店可以在后台下载并安装应用,而不会干扰用户。
承担未来更新的责任
通过 setRequestUpdateOwnership()
方法,安装程序可以告知系统它打算负责未来安装的应用更新。此功能可实现更新所有权强制执行,即只有更新所有者才能为应用安装自动更新。更新所有权强制执行有助于确保用户仅从预期的应用商店接收更新。
任何其他安装程序(包括使用 INSTALL_PACKAGES
权限的安装程序)都必须获得用户的明确批准,才能安装更新。如果用户决定继续从其他来源进行更新,更新所有权将会丢失。
在干扰较少的时段更新应用
应用商店通常希望避免更新正在使用的应用,因为这会导致应用正在运行的进程被终止,而这可能会中断用户正在执行的操作。
从 Android 14 开始,InstallConstraints
API 让安装程序可以确保其应用更新在适当的时机进行。例如,应用商店可以调用 commitSessionAfterInstallConstraintsAreMet()
方法来确保仅在用户不再与相关应用互动时进行更新。
无缝安装可选拆分
借助拆分 APK,应用的功能可以通过单独的 APK 文件提供,而不是以单体式 APK 的形式提供。借助拆分 APK,应用商店可以优化不同应用组件的提供。例如,应用商店可能会根据目标设备的属性进行优化。自从在 API 级别 22 中引入以来,PackageInstaller
API 一直支持拆分。
在 Android 14 中,setDontKillApp()
方法可让安装程序指明在安装新的分块时不应终止应用正在运行的进程。应用商店可以使用此功能,在用户使用应用时无缝安装应用的新功能。
Gói siêu dữ liệu ứng dụng
Kể từ Android 14, trình cài đặt gói Android cho phép bạn chỉ định siêu dữ liệu ứng dụng (ví dụ: các biện pháp đảm bảo an toàn dữ liệu) để đưa vào các trang trên cửa hàng ứng dụng như Google Play.
Phát hiện thời điểm người dùng chụp ảnh màn hình thiết bị
Để tạo ra trải nghiệm chuẩn hơn đối với việc phát hiện ảnh chụp màn hình, Android 14 ra mắt API phát hiện ảnh chụp màn hình nhằm bảo vệ quyền riêng tư. API này cho phép ứng dụng đăng ký lệnh gọi lại dựa trên từng hoạt động. Khi người dùng chụp ảnh màn hình trong khi hoạt động đó đang hiển thị, những lệnh gọi lại này sẽ được gọi và người dùng sẽ nhận được thông báo.
Trải nghiệm người dùng
Các thao tác tuỳ chỉnh trên Trang chia sẻ nội dung và cách cải thiện thứ hạng
Android 14 cập nhật trang chia sẻ nội dung của hệ thống để hỗ trợ các thao tác tuỳ chỉnh trong ứng dụng và các kết quả xem trước giàu thông tin hơn cho người dùng.
Thêm thao tác tuỳ chỉnh
Với Android 14, ứng dụng của bạn có thể thêm thao tác tuỳ chỉnh vào trang chia sẻ nội dung hệ thống mà ứng dụng gọi.
![](https://developer.android.google.cn/static/images/training/sharing/sharesheet_custom_actions.png?authuser=4&hl=vi)
Cải thiện thứ hạng của mục tiêu Chia sẻ trực tiếp
Android 14 sử dụng thêm nhiều tín hiệu từ các ứng dụng để xác định thứ hạng của mục tiêu chia sẻ trực tiếp nhằm đưa ra kết quả hữu ích hơn cho người dùng. Để cung cấp tín hiệu hữu ích nhất cho việc xếp hạng, hãy làm theo hướng dẫn để cải thiện thứ hạng của mục tiêu Chia sẻ trực tiếp. Các ứng dụng liên lạc cũng có thể báo cáo mức sử dụng lối tắt cho các tin nhắn đi và tin nhắn đến.
![](https://developer.android.google.cn/static/training/sharing/direct-share-targets.png?authuser=4&hl=vi)
Hỗ trợ ảnh động tích hợp sẵn và ảnh động tuỳ chỉnh cho tính năng Xem trước thao tác quay lại
Android 13 đã giới thiệu ảnh động xem trước thao tác quay lại màn hình chính dưới hình thức tuỳ chọn dành cho nhà phát triển. Khi vuốt ngược lại, trong một ứng dụng được hỗ trợ và tuỳ chọn dành cho nhà phát triển được bật, sẽ xuất hiện ảnh động chỉ ra rằng cử chỉ vuốt ngược là để thoát khỏi ứng dụng và quay lại màn hình chính.
Android 14 có nhiều điểm cải tiến và hướng dẫn mới về tính năng Xem trước thao tác quay lại:
- Bạn có thể thiết lập
android:enableOnBackInvokedCallback=true
để chọn sử dụng ảnh động xem trước quay lại hệ thống cho mỗi Hoạt động thay vì cho toàn bộ ứng dụng. - Chúng tôi đã thêm ảnh động hệ thống mới để tăng cường cho ảnh động quay lại màn hình chính từ Android 13. Sau khi di chuyển sang tính năng Xem trước thao tác quay lại, bạn sẽ tự động nhận được các ảnh động hệ thống mới trên nhiều hoạt động và nhiều tác vụ.
- Chúng tôi đã thêm ảnh động mới trong Thành phần Material cho Bảng dưới cùng, Bảng bên và Tìm kiếm.
- Chúng tôi đã tạo hướng dẫn thiết kế để tạo ảnh động và hiệu ứng chuyển đổi tuỳ chỉnh trong ứng dụng.
- Chúng tôi đã thêm nhiều API mới để hỗ trợ ảnh động chuyển đổi tuỳ chỉnh trong ứng dụng:
handleOnBackStarted
,handleOnBackProgressed
,handleOnBackCancelled
in
OnBackPressedCallback
onBackStarted
,onBackProgressed
,onBackCancelled
in
OnBackAnimationCallback
- Sử dụng
overrideActivityTransition
thay vìoverridePendingTransition
đối với các hiệu ứng chuyển đổi phản hồi khi người dùng vuốt ngược lại.
Đối với bản thử nghiệm Android 14 này, tất cả tính năng Xem trước thao tác quay lại vẫn là tuỳ chọn dành cho nhà phát triển. Xem hướng dẫn dành cho nhà phát triển để di chuyển ứng dụng sang tính năng Xem trước thao tác quay lại, cũng như hướng dẫn dành cho nhà phát triển để tạo các hiệu ứng chuyển đổi tuỳ chỉnh trong ứng dụng.
Chế độ ghi đè cho mỗi ứng dụng của nhà sản xuất thiết bị có màn hình lớn
Chế độ ghi đè cho mỗi ứng dụng cho phép nhà sản xuất thiết bị thay đổi hành vi của các ứng dụng trên thiết bị có màn hình lớn. Ví dụ: chế độ ghi đè FORCE_RESIZE_APP
hướng dẫn hệ thống đổi kích thước ứng dụng cho phù hợp với kích thước màn hình (tránh chế độ tương thích với kích thước) ngay cả khi resizeableActivity="false"
được đặt trong tệp kê khai ứng dụng.
Tính năng ghi đè giúp cải thiện trải nghiệm người dùng trên màn hình lớn.
Thuộc tính mới của tệp kê khai cho phép bạn tắt một số chế độ ghi đè của nhà sản xuất thiết bị đối với ứng dụng của bạn.
Ghi đè cho mỗi ứng dụng của người dùng trên màn hình lớn
按应用替换会更改大屏设备上应用的行为。例如,无论应用的配置如何,OVERRIDE_MIN_ASPECT_RATIO_LARGE
设备制造商替换项都会将应用宽高比设置为 16:9。
Android 14 QPR1 允许用户在大屏设备上通过新的设置菜单应用按应用替换项。
Chia sẻ màn hình ứng dụng
Tính năng chia sẻ màn hình ứng dụng cho phép người dùng chia sẻ cửa sổ ứng dụng thay vì toàn bộ màn hình thiết bị trong khi ghi nội dung màn hình.
Với tính năng chia sẻ màn hình ứng dụng, thanh trạng thái, thanh điều hướng, thông báo và các thành phần khác trên giao diện người dùng của hệ thống sẽ bị loại trừ khỏi màn hình dùng chung. Chỉ nội dung của ứng dụng đã chọn mới được chia sẻ.
Tính năng chia sẻ màn hình ứng dụng giúp cải thiện năng suất và quyền riêng tư bằng cách cho phép người dùng chạy nhiều ứng dụng nhưng chỉ chia sẻ nội dung cho một ứng dụng.
Trả lời thông minh dựa trên LLM trong Gboard trên Pixel 8 Pro
在附带 12 月功能更新版的 Pixel 8 Pro 设备上,开发者可以在 Gboard 中体验更优质的智能回复,该功能由在 Google Tensor 上运行的设备端大型语言模型 (LLM) 提供支持。
此功能目前仅在 WhatsApp、Line 和 KakaoTalk 中推出美式英语的有限预览版。该功能需要使用一部支持 Gboard 的 Pixel 8 Pro 设备作为键盘。
如需试用,请先依次选择设置 > 开发者选项 > AiCore 设置 > 启用 Aicore Persistent 以启用该功能。
接下来,在受支持的应用中打开对话,以在 Gboard 的建议栏中看到由 LLM 提供支持的智能回复,以便响应收到的消息。
Đồ hoạ
Các đường dẫn có thể truy vấn và nội suy được
Android 的 Path
API 是一种强大且灵活的机制,可用于创建和渲染矢量图形,能够描边或填充路径,根据线段、二次曲线或立方曲线构建路径,执行布尔运算以获取更复杂的形状,或同时执行所有这些操作。不过,您无法找出 Path 对象中实际包含的内容;该对象的内部信息在创建后对于调用方是不透明的。
如需创建 Path
,您可以调用 moveTo()
、lineTo()
和 cubicTo()
等方法来添加路径片段。但是,无法询问该路径有哪些段,因此您必须在创建时保留该信息。
从 Android 14 开始,您可以查询路径以了解其内部内容。首先,您需要使用 Path.getPathIterator
API 获取 PathIterator
对象:
Kotlin
val path = Path().apply { moveTo(1.0f, 1.0f) lineTo(2.0f, 2.0f) close() } val pathIterator = path.pathIterator
Java
Path path = new Path(); path.moveTo(1.0F, 1.0F); path.lineTo(2.0F, 2.0F); path.close(); PathIterator pathIterator = path.getPathIterator();
接下来,您可以调用 PathIterator
逐个遍历片段,并检索每个片段的所有必要数据。以下示例使用了 PathIterator.Segment
对象,它会为您打包数据:
Kotlin
for (segment in pathIterator) { println("segment: ${segment.verb}, ${segment.points}") }
Java
while (pathIterator.hasNext()) { PathIterator.Segment segment = pathIterator.next(); Log.i(LOG_TAG, "segment: " + segment.getVerb() + ", " + segment.getPoints()); }
PathIterator
还有一个非分配版 next()
,您可以在其中传入缓冲区来保存点数据。
查询 Path
数据的一个重要用例是插值。例如,您可能想在两个不同的路径之间添加动画(或变形)。为了进一步简化该用例,Android 14 还在 Path
中添加了 interpolate()
方法。假设两个路径具有相同的内部结构,interpolate()
方法会使用该插值结果创建一个新的 Path
。以下示例返回了形状介于 path
和 otherPath
之间的一半(线性插值为 0 .5)的路径:
Kotlin
val interpolatedResult = Path() if (path.isInterpolatable(otherPath)) { path.interpolate(otherPath, .5f, interpolatedResult) }
Java
Path interpolatedResult = new Path(); if (path.isInterpolatable(otherPath)) { path.interpolate(otherPath, 0.5F, interpolatedResult); }
Jetpack graphics-path 库也为早期版本的 Android 启用了类似的 API。
Lưới tuỳ chỉnh có chương trình đổ bóng mảnh và đỉnh (vertex)
Từ lâu, Android đã hỗ trợ vẽ lưới tam giác có tính năng tô bóng tuỳ chỉnh, nhưng định dạng lưới đầu vào bị giới hạn ở một số tổ hợp thuộc tính được xác định trước. Android 14 hỗ trợ thêm các lưới tuỳ chỉnh (có thể được định nghĩa dưới dạng hình tam giác hoặc dải tam giác) và có thể lập chỉ mục (không bắt buộc). Các lưới này được chỉ định bằng các thuộc tính tuỳ chỉnh, sải bước đỉnh, thay đổi, cũng như chương trình đổ bóng đỉnh và mảnh được viết bằng AGSL.
Chương trình đổ bóng đỉnh xác định các biến đổi, chẳng hạn như vị trí và màu sắc, trong khi chương trình đổ bóng mảnh có thể tuỳ ý xác định màu cho điểm ảnh, thường là bằng cách sử dụng các biến thể do chương trình đổ bóng đỉnh đỉnh tạo ra. Nếu màu được chương trình đổ bóng mảnh cung cấp, thì màu này sẽ được pha trộn với màu Paint
hiện tại bằng cách sử dụng chế độ kết hợp đã chọn khi vẽ lưới. Bạn có thể truyền Đồng nhất vào mảnh và chương trình đổ bóng đỉnh để tăng tính linh hoạt.
Trình kết xuất vùng đệm phần cứng cho Canvas
Để hỗ trợ việc sử dụng API Canvas
của Android để vẽ bằng tính năng tăng tốc phần cứng trong HardwareBuffer
, Android 14 ra mắt HardwareBufferRenderer
. API này đặc biệt hữu ích khi trường hợp sử dụng của bạn liên quan đến hoạt động giao tiếp với trình tổng hợp hệ thống thông qua SurfaceControl
để vẽ có độ trễ thấp.