يقدّم نظام التشغيل Android 14 ميزات وواجهات برمجة تطبيقات رائعة للمطوّرين. تساعدك المعلومات التالية في التعرّف على ميزات تطبيقاتك والبدء في استخدام واجهات برمجة التطبيقات ذات الصلة.
للحصول على قائمة مفصّلة بواجهات برمجة التطبيقات التي تمت إضافتها وتعديلها وإزالتها، يُرجى قراءة تقرير الاختلافات في واجهات برمجة التطبيقات. للحصول على تفاصيل حول واجهات برمجة التطبيقات المضافة، يُرجى الانتقال إلى مرجع واجهات برمجة تطبيقات Android. بالنسبة إلى نظام التشغيل Android 14، ابحث عن واجهات برمجة التطبيقات التي تمت إضافتها في المستوى 34 لواجهة برمجة التطبيقات. للتعرّف على المجالات التي قد تؤثّر فيها تغييرات النظام الأساسي في تطبيقاتك، احرص على الاطّلاع على تغييرات السلوك في الإصدار 14 من نظام التشغيل Android للتطبيقات التي تستهدف الإصدار 14 من نظام التشغيل Android ولجميع التطبيقات.
التوافق مع أسواق عالمية
إعدادات اللغة المخصصة حسب التطبيقات
Android 14 expands on the per-app language features that were introduced in Android 13 (API level 33) with these additional capabilities:
Automatically generate an app's
localeConfig
: Starting with Android Studio Giraffe Canary 7 and AGP 8.1.0-alpha07, you can configure your app to support per-app language preferences automatically. Based on your project resources, the Android Gradle plugin generates theLocaleConfig
file and adds a reference to it in the final manifest file, so you no longer have to create or update the file manually. AGP uses the resources in theres
folders of your app modules and any library module dependencies to determine the locales to include in theLocaleConfig
file.Dynamic updates for an app's
localeConfig
: Use thesetOverrideLocaleConfig()
andgetOverrideLocaleConfig()
methods inLocaleManager
to dynamically update your app's list of supported languages in the device's system settings. Use this flexibility to customize the list of supported languages per region, run A/B experiments, or provide an updated list of locales if your app utilizes server-side pushes for localization.App language visibility for input method editors (IMEs): IMEs can utilize the
getApplicationLocales()
method to check the language of the current app and match the IME language to that language.
Grammatical Inflection API
يتحدّث 3 مليارات شخص لغات جنسانية: وهي لغات تتغيّر فيها فئاتها النحوية، مثل الأسماء والأفعال والصفات وحروف الجر، وفقًا للجنس الذي يحدّده الشخص أو الشيء الذي تتحدث عنه. في العادة، تستخدم العديد من اللغات التي تراعي الجنس النوع النحوي الذكوري كجنس تلقائي أو عام.
يمكن أن يؤدي استخدام الجنس النحوي غير الصحيح للمستخدمين، مثل مخاطبة النساء باستخدام الجنس النحوي للذكور، إلى التأثير سلبًا في أدائهم وسلوكهم. في المقابل، يمكن أن يؤدي استخدام واجهة مستخدم تتضمّن لغة تمثل بشكلٍ صحيح الجنس النحوي للمستخدم إلى تحسين تفاعله مع التطبيق وتوفير تجربة أكثر تخصيصًا وطبيعية.
لمساعدتك في إنشاء واجهة مستخدم تركّز على المستخدم للغات التي تراعي الجنس، يوفّر الإصدار 14 من Android واجهة برمجة التطبيقات Grammatical Inflection API، التي تتيح لك إضافة ميزة مراعاة الجنس النحوي بدون إعادة صياغة تطبيقك.
الإعدادات المفضّلة للمنطقة
Regional preferences enable users to personalize temperature units, the first day of the week, and numbering systems. A European living in the United States might prefer temperature units to be in Celsius rather than Fahrenheit and for apps to treat Monday as the beginning of the week instead of the US default of Sunday.
New Android Settings menus for these preferences provide users with a
discoverable and centralized location to change app preferences. These
preferences also persist through backup and restore. Several APIs and
intents—such as
getTemperatureUnit
and
getFirstDayOfWeek
—
grant your app read access to user preferences, so your app can adjust how it
displays information. You can also register a
BroadcastReceiver
on
ACTION_LOCALE_CHANGED
to handle locale configuration changes when regional preferences change.
To find these settings, open the Settings app and navigate to System > Languages & input > Regional preferences.


تسهيل الاستخدام
الضبط غير الخطي لحجم الخط بنسبة 200%
从 Android 14 开始,系统支持字体放大高达 200%,为弱视用户提供了符合网络内容无障碍指南 (WCAG) 的其他无障碍功能选项。
为防止屏幕上的大文本元素放大放大, 应用非线性缩放曲线。这种放大策略意味着大号文本的放大比例不会与较小的文本相同。非线性字体放大有助于保持不同大小元素之间的比例层次结构,同时缓解高级别线性文本放大存在的问题(例如文本被截断或文本因非常大的显示大小而难以阅读)。
使用非线性字体放大测试应用

如果您已使用放大像素 (sp) 单位来定义文字大小,那么这些 其他选项和扩缩方面的改进会自动应用到 。不过,您仍应使用 启用字体大小 (200%),以确保应用采用 且可以适应较大字号,并且不会影响易用性。
要启用 200% 字号,请按以下步骤操作:
- 打开“设置”应用,然后依次前往无障碍 > 显示大小和文字。
- 在字号选项中,点按加号 (+) 图标,直到启用最大字号设置,如本部分随附的图片所示。
针对文本大小使用放大像素 (sp) 单位
请务必始终以 sp 为单位指定文字大小。当应用使用 sp 单位时,Android 可以应用用户的首选文本大小,并相应地进行缩放。
请勿为内边距使用 sp 单位,也不要假定内边距来定义视图高度:使用非线性字体放大 sp 尺寸可能并不成比例,因此 4sp + 20sp 可能并不等于 24sp。
转换放大像素 (sp) 单位
使用 TypedValue.applyDimension()
从 sp 单位转换为像素,并使用 TypedValue.deriveDimension()
将像素转换为 sp。这些方法会自动应用适当的非线性放大曲线。
避免对公式进行硬编码,使用以下代码
Configuration.fontScale
或
DisplayMetrics.scaledDensity
。因为字体缩放
非线性的,则 scaledDensity
字段不再准确。fontScale
字段应仅用于提供信息,
使用单个标量值进行扩缩。
为 lineHeight 使用 sp 单位
始终使用 sp 单位定义 android:lineHeight
dp 为 dp,因此行高会随文本一起缩放。否则,如果文本使用 sp,但 lineHeight
使用 dp 或 px,则文本不会缩放,并且看起来很拥挤。TextView 会自动更正 lineHeight
,以便实现您的目标
比例会得到保留,但前提是 textSize
和 lineHeight
以 sp 为单位进行定义。
الكاميرا والوسائط
دقة HDR فائقة للصور

يتيح نظام التشغيل Android 14 استخدام صور النطاق العالي الديناميكية (HDR) التي تحتفظ بمزيد من المعلومات الواردة من أداة الاستشعار عند التقاط صورة، ما يتيح الحصول على ألوان زاهية ودرجة تباين أكبر. يستخدم نظام Android تنسيق Ultra HDR، وهو متوافق تمامًا مع صور JPEG القديمة، ما يسمح للتطبيقات بالعمل بسلاسة مع صور HDR وعرضها بنطاق ديناميكي عادي (SDR) عند الحاجة.
ويتم عرض هذه الصور في واجهة المستخدم بتنسيق HDR تلقائيًا من خلال إطار العمل
عندما يختار تطبيقك استخدام واجهة مستخدم بتنسيق HDR لـ "نافذة النشاط"، إما من خلال أحد إدخالات ملف البيان أو أثناء التشغيل من خلال استدعاء Window.setColorMode()
. يمكنك أيضًا التقاط صور ثابتة فائقة
التباين الديناميكي (HDR) المضغوطة على الأجهزة المتوافقة. من خلال استرداد المزيد من الألوان
من أداة الاستشعار، يمكن أن يكون التعديل في مرحلة ما بعد الإنتاج أكثر مرونة. يمكن استخدام رمز الترميز
Gainmap
المرتبط بالصور ذات النطاق العالي الديناميكية الفائق لعرضها
باستخدام OpenGL أو Vulkan.
التكبير/التصغير والتركيز والمعاينة بعد الالتقاط وغير ذلك في إضافات الكاميرا
يُجري نظام Android 14 ترقيات وتحسينات على إضافات الكاميرا، ويسمح للتطبيقات بمعالجة الصور لفترات أطول، ما يؤدي إلى تحسين الصور باستخدام خوارزميات كثيفة الاستخدام للمعالجة، مثل التصوير في الإضاءة المنخفضة على الأجهزة المتوافقة. وتوفّر هذه الميزات للمستخدمين تجربة أكثر فعالية عند استخدام إمكانات توسيع نطاق الكاميرا. تشمل أمثلة هذه التحسينات ما يلي:
- يقدّم تقدير وقت الاستجابة لمعالجة الصور الثابتة الديناميكية مزيدًا من الدقة في تقدير وقت الاستجابة لالتقاط الصور الثابتة استنادًا إلى المشهد الحالي وظروف التصوير. استخدِم دالة
CameraExtensionSession.getRealtimeStillCaptureLatency()
للحصول على عنصرStillCaptureLatency
يتضمّن طريقتَين لتقدير وقت الاستجابة. تُرجع الطريقةgetCaptureLatency()
وقت الاستجابة المقدَّر بينonCaptureStarted
وonCaptureProcessStarted()
، وتُرجع الطريقةgetProcessingLatency()
وقت الاستجابة المقدَّر بينonCaptureProcessStarted()
ووقت توفُّر الإطار النهائي الذي تمت معالجته. - إتاحة عمليات استدعاء لعرض مستوى التقدّم في الالتقاط كي تتمكّن التطبيقات من عرض المستوى الحالي
للتقدّم في عمليات معالجة الصور الثابتة التي تستغرق وقتًا طويلاً يمكنك التحقّق مما إذا كانت هذه الميزة متاحة مع
CameraExtensionCharacteristics.isCaptureProcessProgressAvailable
، وإذا كانت متاحة، يمكنك تنفيذ دالة callback الخاصة بتسجيل التقدّمonCaptureProcessProgressed()
، والتي تم تمرير التقدّم (من 0 إلى 100) إليها كمَعلمة. البيانات الوصفية الخاصة بالإضافة، مثل
CaptureRequest.EXTENSION_STRENGTH
للاتصال برقم هاتفي مقدار تأثير الإضافة، مثل مقدار التمويه في الخلفية باستخدامEXTENSION_BOKEH
ميزة "العرض اللاحق" لالتقاط الصور في إضافات الكاميرا، والتي تقدّم صورة تمّت معالجتها بشكل أقلّ بسرعة أكبر من الصورة النهائية إذا كانت إضافة الصور تزيد من وقت الاستجابة في المعالجة، يمكن تقديم صورة ما بعد المشاهدة كعنصر بدلٍ لتحسين تجربة المستخدم واستبدالها لاحقًا بالصورة النهائية. يمكنك معرفة ما إذا كانت هذه الميزة متاحة باستخدام
CameraExtensionCharacteristics.isPostviewAvailable
. بعد ذلك، يمكنك تمريرOutputConfiguration
إلىExtensionSessionConfiguration.setPostviewOutputConfiguration
.إتاحة استخدام
SurfaceView
للاستفادة من مسار عرض معاينة أكثر فعالية من حيث الطاقةإتاحة ميزة "النقر للتركيز" والتكبير/التصغير أثناء استخدام الإضافة
التكبير داخل المستشعر
عندما يحتوي REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE
في
CameraCharacteristics
على
SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
، يمكن لتطبيقك
استخدام إمكانات أداة الاستشعار المتقدّمة لتوفير بثّ RAW مقطّع يحتوي على كثافة بكسل مماثلة لكثافة بكسل مجال العرض الكامل باستخدام CaptureRequest
مع هدف RAW تم ضبط حالة استخدام البث عليه على
CameraMetadata.SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW
.
من خلال تنفيذ عناصر التحكّم في إلغاء الطلبات، تمنح الكاميرا المعدَّلة المستخدمين إمكانية التحكّم في التكبير/التصغير حتى قبل أن تصبح عناصر التحكّم الأخرى في الكاميرا جاهزة.
صوت عالي الدقة عبر USB
يتيح نظام Android 14 استخدام تنسيقات الصوت غير القابل للفقد لتوفير تجارب رائعة تتعلّق بالصوت عبر سماعات الرأس السلكية USB. يمكنك الاستعلام عن جهاز USB للحصول على
سمات أداة المزج المفضّلة، وتسجيل مستمع للتغييرات فيسمات أداة المزج المفضّلة، وضبط سمات أداة المزج باستخدام فئة
AudioMixerAttributes
. تمثّل هذه الفئة
التنسيق، مثل قناع القناة ومعدّل أخذ العينات وسلوك أداة مزج الصوت. تسمح
الفئة بإرسال الصوت مباشرةً، بدون مزج أو
تعديل مستوى الصوت أو تطبيق تأثيرات المعالجة.
إنتاجية المطوّرين وأدواتهم
مدير بيانات الاعتماد
Android 14 adds Credential Manager as a platform API, with additional support back to Android 4.4 (API level 19) devices through a Jetpack Library using Google Play services. Credential Manager aims to make sign-in easier for users with APIs that retrieve and store credentials with user-configured credential providers. Credential Manager supports multiple sign-in methods, including username and password, passkeys, and federated sign-in solutions (such as Sign-in with Google) in a single API.
Passkeys provide many advantages. For example, passkeys are built on industry standards, can work across different operating systems and browser ecosystems, and can be used with both websites and apps.
For more information, see the Credential Manager and passkeys documentation and the blogpost about Credential Manager and passkeys.
Health Connect
Health Connect هو مستودع على الجهاز لبيانات الصحة واللياقة البدنية للمستخدم. ويسمح الإعداد للمستخدمين بمشاركة البيانات بين تطبيقاتهم المفضّلة، مع توفير مكان واحد للتحكّم في البيانات التي يريدون مشاركتها مع هذه التطبيقات.
على الأجهزة التي تعمل بإصدارات Android أقدم من Android 14، يمكن تنزيل تطبيق Health Connect من متجر Google Play. بدءًا من الإصدار Android 14، أصبح تطبيق Health Connect جزءًا من المنصة ويتلقّى تحديثات من خلال تحديثات نظام Google Play بدون الحاجة إلى تنزيله بشكل منفصل. وبفضل ذلك، يمكن تحديث Health Connect بشكل متكرّر، ويمكن لتطبيقاتك الاعتماد على توفّر Health Connect على الأجهزة التي تعمل بالإصدار 14 من نظام Android أو الإصدارات الأحدث. يمكن للمستخدمين الوصول إلى Health Connect من خلال "الإعدادات" في أجهزتهم، مع دمج عناصر التحكّم في الخصوصية في إعدادات النظام.


يتضمّن Health Connect العديد من الميزات الجديدة في Android 14، مثل مسار التمارين، ما يتيح للمستخدمين مشاركة مسار تمرينهم الذي يمكن عرضه visually على خريطة. يتم تعريف المسار على أنّه قائمة بالمواقع الجغرافية المحفوظة خلال فترة زمنية معيّنة، ويمكن لتطبيقك إدراج المسارات في جلسات التمارين، وربطها معًا. لضمان حصول المستخدمين على التحكّم الكامل في هذه البيانات الحسّاسة، يجب أن يسمح المستخدمون بمشاركة مسارات فردية مع تطبيقات أخرى.
لمزيد من المعلومات، يُرجى الاطّلاع على مستندات Health Connect والمقالة في المدونة حول الميزات الجديدة في تطبيق "صحة Android".
تعديلات OpenJDK 17
يواصل نظام التشغيل Android 14 العمل على تحديث المكتبات الأساسية في Android لمواءمتها مع الميزات في أحدث إصدارات OpenJDK LTS، بما في ذلك تحديثات مكتبة ودعم لغة Java 17 لمطوّري التطبيقات والمنصات.
تشمل الميزات والتحسينات التالية:
- تم تعديل 300 فئة تقريبًا من فئات
java.base
لتتوافق مع Java 17. - كتل النصوص التي تُعرِض سلاسل نصية حرفية متعددة الأسطر في لغة البرمجة Java
- مطابقة الأنماط لـ instanceof، التي تسمح بالتعامل مع عنصر على أنّه يملك نوعًا معيّنًا في
instanceof
بدون أي متغيّرات إضافية - الفئات المُغلقة، التي تتيح لك فرض قيود على الفئات والواجهات التي يمكنها توسيع نطاقها أو تنفيذها
بفضل تحديثات نظام Google Play (Project Mainline)، تم تفعيل أكثر من 600 مليون جهاز لتلقّي آخر تحديثات Android Runtime (ART) التي تتضمن هذه التغييرات. يأتي ذلك في إطار التزامنا بتوفير بيئة أكثر اتساقًا وأمانًا للتطبيقات على جميع الأجهزة، وتقديم ميزات و إمكانات جديدة للمستخدمين بغض النظر عن إصدارات المنصة.
Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو شركائها التابعين.
تحسينات على متاجر التطبيقات
يقدّم نظام التشغيل Android 14 العديد من واجهات برمجة تطبيقات PackageInstaller
التي تسمح لمتاجر التطبيقات بتحسين تجربة المستخدمين.
طلب الموافقة على التثبيت قبل التنزيل
قد يتطلّب تثبيت تطبيق أو تحديثه موافقة المستخدم.
على سبيل المثال، عندما يحاول أحد تطبيقات التثبيت التي تستخدم إذن
REQUEST_INSTALL_PACKAGES
تثبيت
تطبيق جديد، لا يمكن لمتاجر التطبيقات طلب موافقة المستخدم إلا بعد كتابة حِزم APK في جلسة التثبيت وإتمام الجلسة.
اعتبارًا من Android 14، تتيح طريقة requestUserPreapproval()
للمُثبّتين طلب موافقة المستخدم قبل إكمال جلسة التثبيت. يتيح هذا التحسين لمتجر التطبيقات تأجيل تنزيل أي حِزم APK إلى
بعد أن يوافق المستخدم على التثبيت. بالإضافة إلى ذلك، بعد أن يمنح أحد المستخدمين موافقته على التثبيت، يمكن لمتجر التطبيقات تنزيل التطبيق وتثبيته في
الخلفية بدون مقاطعة المستخدم.
تأكيد مسؤولية التعديلات المستقبلية
تسمح طريقة setRequestUpdateOwnership()
للمثبّت
بإعلام النظام بأنّه سيتحمّل مسؤولية التحديثات المستقبلية
للتطبيق الذي يتم تثبيته. تتيح هذه الميزة فرض ملكية التحديث، ما يعني أنّه لا يُسمح إلا لمالك التحديث
بتثبيت التحديثات التلقائية للتطبيق. ويساعد فرض ملكية التحديث في
ضمان تلقّي المستخدمين للتحديثات من متجر التطبيقات المتوقّع فقط.
يجب أن يحصل أي مُثبِّت آخر، بما في ذلك مُثبِّتي التطبيقات الذين يستخدمون إذن
INSTALL_PACKAGES
، على موافقة صريحة من المستخدمين لتثبيت التحديث. إذا قرّر أحد المستخدِمين مواصلة تعديل
من مصدر آخر، ستتم فقدان ملكية التعديل.
تحديث التطبيقات في أوقات أقل إزعاجًا
تحاول متاجر التطبيقات عادةً تجنُّب تحديث تطبيق قيد الاستخدام بشكل نشط، لأنّ ذلك يؤدي إلى إيقاف العمليات الجارية للتطبيق، ما قد يؤدي بدوره إلى إيقاف ما كان يفعله المستخدم.
بدءًا من Android 14، تقدّم واجهة برمجة التطبيقات InstallConstraints
للمُثبّتين طريقة لضمان إجراء تحديثات التطبيقات في الوقت المناسب. على سبيل المثال، يمكن لمتجر تطبيقات استدعاء الأسلوب
commitSessionAfterInstallConstraintsAreMet()
لمحاولة التأكد من عدم التزام المستخدم بالتغييرات إلا عندما يتوقف عن التفاعل مع التطبيق المعني.
تثبيت الفواصل الاختيارية بسلاسة
باستخدام حِزم APK المجزّأة، يمكن توفير ميزات التطبيق في حِزم APK منفصلة، بدلاً من حزمة APK واحدة. تسمح ملفات APK المجزّأة لمتاجر التطبيقات بتحسين
عرض مكوّنات التطبيق المختلفة. على سبيل المثال، قد تعمل متاجر التطبيقات على تحسين
التطبيقات استنادًا إلى خصائص الجهاز المستهدَف. كانت واجهة برمجة التطبيقات
PackageInstaller
متوافقة مع عمليات التقسيم منذ
إدخالها في المستوى 22 من واجهة برمجة التطبيقات.
في نظام التشغيل Android 14، تسمح طريقة setDontKillApp()
لتطبيق
التثبيت بتحديد أنّه يجب عدم إنهاء عمليات التطبيق الجارية عند
تثبيت أقسام جديدة. يمكن لمتاجر التطبيقات استخدام هذه الميزة لتثبيت
ميزات جديدة للتطبيق بسلاسة أثناء استخدام المستخدم للتطبيق.
حِزم البيانات الوصفية للتطبيق
اعتبارًا من الإصدار Android 14، يتيح لك أداة تثبيت حِزم Android تحديد البيانات الوصفية للتطبيق، مثل ممارسات أمان البيانات، لتضمينها في صفحات متجر التطبيقات، مثل Google Play.
رصد وقت أخذ المستخدمين لقطات شاشة للجهاز
لإنشاء تجربة أكثر توحيدًا في ما يتعلّق برصد لقطات الشاشة، يقدّم نظام التشغيل Android 14 واجهة برمجة تطبيقات لرصد لقطات الشاشة تحافظ على الخصوصية. تتيح واجهة برمجة التطبيقات هذه للتطبيقات تسجيل عمليات ردّ الاتصال على أساس كل نشاط على حدة. يتم استدعاء عمليات الرجوع هذه، ويتم إشعار المستخدم، عندما يلتقط المستخدم لقطة شاشة أثناء ظهور هذا النشاط.
تجربة المستخدم
الإجراءات المخصّصة في ورقة المشاركة والترتيب المحسّن
Android 14 updates the system sharesheet to support custom app actions and more informative preview results for users.
Add custom actions
With Android 14, your app can add custom actions to the system sharesheet it invokes.

Improve ranking of Direct Share targets
Android 14 uses more signals from apps to determine the ranking of the direct share targets to provide more helpful results for the user. To provide the most useful signal for ranking, follow the guidance for improving rankings of your Direct Share targets. Communication apps can also report shortcut usage for outgoing and incoming messages.

إتاحة صور متحركة مضمّنة ومخصّصة لإيماءة "الرجوع التنبؤي"
قدّم نظام التشغيل Android 13 إيماءة الرجوع إلى الشاشة الرئيسية التنبؤية من خلال خيار مخصّص للمطوّرين. عند استخدامها في تطبيق متوافق مع تفعيل خيار المطوّر، يؤدي التمرير سريعًا للخلف إلى عرض صورة متحركة تشير إلى أنّ إيماءة الرجوع تؤدي إلى الخروج من التطبيق والرجوع إلى الشاشة الرئيسية.
يتضمّن Android 14 تحسينات متعدّدة وإرشادات جديدة بشأن ميزة "الرجوع التوقّعي":
- يمكنك ضبط
android:enableOnBackInvokedCallback=true
لتفعيل الصور المتحركة في النظام لإيماءة الرجوع إلى الخلف التنبؤية لكل نشاط بدلاً من تفعيلها للتطبيق بأكمله. - أضفنا صورًا متحركة جديدة للنظام لترافق الصورة المتحركة للرجوع إلى الشاشة الرئيسية من Android 13. إنّ الصور المتحركة الجديدة في النظام تعمل على جميع الأنشطة والمهام، ويتم عرضها تلقائيًا بعد نقل البيانات إلى ميزة "الرجوع التلقائي".
- أضفنا رسومًا متحركة جديدة لعناصر Material Design في الجدولَين المعروضَين في أسفل الشاشة والجدولَين الجانبيَين والبحث.
- لقد أنشأنا إرشادات تصميم لإنشاء مؤثرات مخصّصة للصور المتحركة والانتقالات داخل التطبيق.
- لقد أضفنا واجهات برمجة تطبيقات جديدة تتيح استخدام صور متحركة مخصّصة للانتقالات داخل التطبيق:
handleOnBackStarted
وhandleOnBackProgressed
وhandleOnBackCancelled
in
OnBackPressedCallback
onBackStarted
وonBackProgressed
وonBackCancelled
in
OnBackAnimationCallback
- استخدِم
overrideActivityTransition
بدلاً منoverridePendingTransition
للانتقالات التي تستجيب عندما يقلب المستخدم الشاشة للخلف.
في إصدار معاينة Android 14 هذا، تظل جميع ميزات "الترجيع التوقّعي" متاحة فقط من خلال خيار المطوّر. اطّلِع على دليل المطوّر لنقل بيانات تطبيقك إلى ميزة "الرجوع التوقّعي"، بالإضافة إلى دليل المطوّر لإنشاء التحولات المخصّصة داخل التطبيق.
عمليات إلغاء إعدادات التطبيق لكل جهاز من قِبل الشركة المصنّعة للأجهزة ذات الشاشات الكبيرة
Per-app overrides enable device manufacturers to change the behavior of apps on large screen devices. For example, the FORCE_RESIZE_APP
override instructs the system to resize the app to fit display dimensions (avoiding size compatibility mode) even if resizeableActivity="false"
is set in the app manifest.
Overrides are intended to improve the user experience on large screens.
New manifest properties enable you to disable some device manufacturer overrides for your app.
عمليات إلغاء الإعدادات التلقائية على الشاشات الكبيرة لكل تطبيق
تؤدي عمليات التجاوز لكل تطبيق إلى تغيير سلوك التطبيقات على الأجهزة ذات الشاشات الكبيرة. على سبيل المثال، يمكن للشركة المصنّعة للجهاز OVERRIDE_MIN_ASPECT_RATIO_LARGE
إلغاء الإعدادات وضبط نسبة عرض إلى ارتفاع التطبيق على 16:9 بغض النظر عن إعدادات التطبيق.
يتيح الإصدار 1 من الربع الثاني من العام 2021 من نظام التشغيل Android 14 للمستخدمين تطبيق عمليات إلغاء على مستوى كل تطبيق من خلال قائمة إعدادات جديدة على الأجهزة ذات الشاشات الكبيرة.
مشاركة شاشة التطبيق
تتيح ميزة "مشاركة شاشة التطبيق" للمستخدمين مشاركة نافذة تطبيق بدلاً من شاشة الجهاز بالكامل أثناء تسجيل محتوى الشاشة.
عند مشاركة شاشة التطبيق، يتم استبعاد شريط الحالة وشريط التنقّل والإشعارات وعناصر واجهة مستخدم النظام الأخرى من الشاشة المشترَكة. تتم مشاركة محتوى التطبيق المحدّد فقط.
تعمل ميزة "مشاركة شاشة التطبيق" على تحسين الإنتاجية والخصوصية من خلال السماح للمستخدمين بتشغيل تطبيقات متعددة مع حصر مشاركة المحتوى بتطبيق واحد.
ميزة "الرد السريع" المستندة إلى نماذج اللغات الكبيرة في Gboard على هاتف Pixel 8 Pro
على أجهزة Pixel 8 Pro التي تم تثبيت حزمة ميزات شهر كانون الأول (ديسمبر) عليها، يمكن للمطوّرين تجربة ردود سريعة بجودة أعلى في Gboard، وذلك باستخدام نماذج لغوية كبيرة (LLM) على الجهاز تعمل على معالج Google Tensor.
تتوفّر هذه الميزة في إصدار تجريبي محدود باللغة الإنجليزية (الولايات المتحدة) في WhatsApp وLine وKakaoTalk. تتطلّب الميزة استخدام جهاز Pixel 8 Pro مع Gboard ك keyboard.
لتجربة هذه الميزة، عليك أولاً تفعيلها من خلال الانتقال إلى الإعدادات > خيارات المطوّرين > إعدادات AICore > تفعيل ميزة Aicore Persistent.
بعد ذلك، افتح محادثة في تطبيق متوافق للاطّلاع على ميزة "الرد السريع" المستندة إلى نموذج اللغة الكبيرة في شريط اقتراحات Gboard استجابةً للرسائل الواردة.
الرسومات
يمكن البحث عن المسارات وتعديلها.
Path
API هي آلية فعّالة ومرنة ل
إنشاء الرسومات المتجهّة وعرضها، مع إمكانية رسم خطوط أو ملء
مسار أو إنشاء مسار من أجزاء خطية أو منحنيات ثنائية أو ثلاثية الحدود، أو تنفيذ
عمليات منطقية للحصول على أشكال أكثر تعقيدًا، أو كل ذلك
في الوقت نفسه. ويتمثل أحد القيود في القدرة على معرفة ما هو موجود بالفعل في كائن "مسار"، وتكون العناصر الداخلية للكائن معتمة للمتصلين بعد إنشائه.
لإنشاء Path
، يمكنك استدعاء طرق مثل
moveTo()
وlineTo()
و
cubicTo()
لإضافة شرائح مسار. ولكن لم تكن هناك طريقة للسؤال عن
الأجزاء في هذا المسار، لذلك يجب عليك الاحتفاظ بهذه المعلومات في وقت الإنشاء.
بدءًا من Android 14، يمكنك طلب البحث عن المسارات لمعرفة ما بداخلها.
عليك أولاً الحصول على كائن PathIterator
باستخدام واجهة برمجة تطبيقات Path.getPathIterator
:
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 أيضًا طريقة
interpolate()
في Path
. بافتراض أنّ المسارَين لهما البنية الداخلية نفسها، تنشئ الطريقة interpolate()
Path
جديدة مع تلك النتيجة المضمَّنة. يعرض هذا المثال مسارًا يكون شكله
في منتصف الطريق (تداخل خطي بنسبة 0.5) بين path
وotherPath
:
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); }
تتيح مكتبة graphics-path في Jetpack واجهات برمجة تطبيقات مشابهة لإصدارات Android الأقدم أيضًا.
شبكات مخصّصة مع مظلّلات الرؤوس والتقسيمات
منذ فترة طويلة، يتيح Android رسم شبكات مثلثية باستخدام تظليل مخصّص، ولكن كان تنسيق شبكة الإدخال يقتصر على بعض مجموعات السمات المحدّدة مسبقًا. يتيح نظام Android 14 استخدام الشبكات المخصّصة التي يمكن تحديدها على أنّها مثلثات أو شرائح مثلثية، ويمكن فهرستها اختياريًا. يتم تحديد هذه الشبكات باستخدام سمات مخصّصة وخطوات رؤوس العناصر المتغيّرة وبرامج تشويش رؤوس العناصر والعناصر الصغيرة المكتوبة بلغة AGSL.
يحدّد برنامج تظليل رؤوس المضلّعات المتغيّرات، مثل الموضع واللون، في حين يمكن لبرنامج تظليل العناصر تحديد لون البكسل اختياريًا، عادةً باستخدام المتغيّرات التي أنشأها برنامج تظليل رؤوس المضلّعات. إذا كان اللون مقدَّمًا منshader
القطعة، يتم دمجه بعد ذلك مع Paint
اللون الحالي باستخدام وضع الدمج الذي تم اختياره عند
رسم الشبكة. يمكن تمرير المتجانسات
إلى برامج تظليل الشرائح والرؤوس للحصول على مرونة إضافية.
أداة العرض باستخدام المخزن المؤقت للأجهزة في Canvas
للمساعدة في استخدام واجهة برمجة التطبيقات Canvas
في Android للرسم باستخدام
التسارع في الأجهزة في HardwareBuffer
، يوفّر الإصدار 14 من Android HardwareBufferRenderer
. واجهة برمجة التطبيقات هذه
عندما تشتمل حالة الاستخدام على التواصل مع النظام
المكون من خلال SurfaceControl
لوقت الاستجابة المنخفض
رسم.