Özelliklere ve API'lere Genel Bakış

Android 14, geliştiriciler için muhteşem özellikler ve API'ler sunar. Aşağıdaki bilgiler, uygulamalarınız için özellikler hakkında bilgi edinmenize ve ilgili API'leri kullanmaya başlamanıza yardımcı olur.

Eklenen, değiştirilen ve kaldırılan API'lerin ayrıntılı listesi için API fark raporunu okuyun. Eklenen API'lerle ilgili ayrıntılar için Android API referansı sayfasını ziyaret edin. Android 14 için API düzeyi 34'te eklenmiş API'leri arayın. Platform değişikliklerinin uygulamalarınızı etkileyebileceği alanlar hakkında bilgi edinmek isterseniz Android 14'ü hedefleyen uygulamalar ve tüm uygulamalar için Android 14 davranış değişikliklerini inceleyin.

Uluslararası hale getirme

Uygulamaya özgü dil tercihleri

Android 14, Android 13'te (API düzeyi 33) kullanıma sunulan uygulamaya özel dil özelliklerini aşağıdaki ek özelliklerle zenginleştirir:

  • Bir uygulamanın localeConfig dilini otomatik olarak oluştur: Android Studio Giraffe Canary 7 ve AGP 8.1.0-alpha07 sürümlerinden başlayarak, uygulamanızı uygulamaya özgü dil tercihlerini otomatik olarak destekleyecek şekilde yapılandırabilirsiniz. Android Gradle eklentisi, proje kaynaklarınıza bağlı olarak LocaleConfig dosyasını oluşturur ve nihai manifest dosyasına bir referans ekler. Böylece artık dosyayı manuel olarak oluşturmanız veya güncellemeniz gerekmez. AGP, LocaleConfig dosyasına dahil edilecek yerel ayarları belirlemek için uygulama modüllerinizin res klasörlerindeki kaynakları ve tüm kitaplık modülü bağımlılıklarını kullanır.

  • Bir uygulamanın localeConfig dinamik güncellemeleri: Cihazın sistem ayarlarında uygulamanızın desteklenen diller listesini dinamik olarak güncellemek için LocaleManager bölümündeki setOverrideLocaleConfig() ve getOverrideLocaleConfig() yöntemlerini kullanın. Desteklenen dillerin listesini bölgeye göre özelleştirmek, A/B denemeleri çalıştırmak veya uygulamanızda yerelleştirme için sunucu tarafı aktarmalar kullanılıyorsa yerel ayarların güncellenmiş listesini sağlamak için bu esnekliği kullanın.

  • Giriş yöntemi düzenleyicileri (IME'ler) için uygulama dili görünürlüğü: IME'ler, geçerli uygulamanın dilini kontrol etmek ve IME dilini bu dille eşleştirmek için getApplicationLocales() yöntemini kullanabilir.

Grammatal Inflection API'si

3 billion people speak gendered languages: languages where grammatical categories—such as nouns, verbs, adjectives, and prepositions—inflect according to the gender of people and objects you talk to or about. Traditionally, many gendered languages use masculine grammatical gender as the default or generic gender.

Addressing users in the wrong grammatical gender, such as addressing women in masculine grammatical gender, can negatively impact their performance and attitude. In contrast, a UI with language that correctly reflects the user's grammatical gender can improve user engagement and provide a more personalized and natural-sounding user experience.

Android 14, cinsiyet belirten dillere yönelik kullanıcı merkezli bir kullanıcı arayüzü oluşturmanıza yardımcı olmak amacıyla uygulamanızı yeniden düzenlemeye gerek kalmadan dil bilgisi için cinsiyet desteği eklemenize olanak tanıyan Grammatical Inffaction API'yi kullanıma sunar.

Bölgeye özgü tercihler

Bölgesel tercihler, kullanıcıların sıcaklık birimlerini, haftanın ilk gününü ve numaralandırma sistemlerini kişiselleştirmesini sağlar. ABD'de yaşayan bir Avrupalı, sıcaklık birimlerinin Fahrenhayt yerine Santigrat cinsinden olmasını ve uygulamaların, ABD'nin varsayılan pazar günü yerine pazartesi gününü haftanın başlangıcı olarak kabul etmesini tercih edebilir.

Bu tercihlere yönelik yeni Android Ayarları menüleri, kullanıcılara uygulama tercihlerini değiştirmeleri için bulunabilir ve merkezi bir konum sağlar. Bu tercihler, yedekleme ve geri yükleme aracılığıyla da korunur. getTemperatureUnit ve getFirstDayOfWeek gibi çeşitli API ve amaçlar uygulamanız için kullanıcı tercihlerine okuma erişimi verir. Böylece uygulamanız bilgileri görüntüleme şeklini ayarlayabilir. Bölgesel tercihler değiştiğinde yerel yapılandırma değişikliklerini işlemek için ACTION_LOCALE_CHANGED sitesinde bir BroadcastReceiver de kaydedebilirsiniz.

Bu ayarları bulmak için Ayarlar uygulamasını açıp Sistem > Diller ve giriş > Bölgesel tercihler'e gidin.

Android sistem ayarlarındaki bölgesel tercihler ekranı.
Android sistem ayarlarındaki bölgesel tercihler için sıcaklık seçenekleri.

Erişilebilirlik

%200'e kadar doğrusal olmayan yazı tipi ölçeklendirme

Sistem, Android 14'ten itibaren %200'e kadar yazı tipi ölçeklendirmesini destekleyerek az gören kullanıcılara Web İçeriği Erişilebilirlik Yönergeleri (WCAG) ile uyumlu ek erişilebilirlik seçenekleri sağlar.

Sistem, ekrandaki büyük metin öğelerinin çok büyük ölçeklenmesini önlemek için doğrusal olmayan bir ölçeklendirme eğrisi uygular. Bu ölçeklendirme stratejisi, büyük metinlerin daha küçük metinlerle aynı hızda ölçeklendirilmeyeceği anlamına gelir. Doğrusal olmayan yazı tipi ölçeklendirme, farklı boyutlardaki öğeler arasındaki orantısal hiyerarşinin korunmasına yardımcı olurken yüksek derecelerde doğrusal metin ölçeklendirmeyle (metinlerin kesilmesi veya çok büyük ekran boyutları nedeniyle metnin okunması zorlaşması gibi) sorunları da azaltır.

Doğrusal olmayan yazı tipi ölçeklendirme ile uygulamanızı test etme

Uygulamanızı test etmek için cihazın erişilebilirlik ayarlarında maksimum yazı tipi boyutunu etkinleştirin.

Metin boyutlandırmasını tanımlamak için zaten ölçeklendirilmiş piksel (sp) birimleri kullanıyorsanız, bu ek seçenekler ve ölçeklendirme iyileştirmeleri uygulamanızdaki metne otomatik olarak uygulanır. Ancak, uygulamanızın yazı tipi boyutlarını doğru bir şekilde uyguladığından ve daha büyük yazı tipi boyutlarının kullanılabilirliği etkilemeden kullanabilmesini sağlamak için yine de maksimum yazı tipi boyutunu (%200) etkinleştirerek kullanıcı arayüzü testleri gerçekleştirmeniz gerekir.

Yazı tipi boyutunu% 200 etkinleştirmek için aşağıdaki adımları uygulayın:

  1. Ayarlar uygulamasını açın ve Erişilebilirlik > Görüntü boyutu ve metin'e gidin.
  2. Yazı tipi boyutu seçeneği için bu bölüme eşlik eden resimde gösterildiği gibi maksimum yazı tipi boyutu ayarı etkinleştirilene kadar artı (+) simgesine dokunun.

Metin boyutları için ölçeklendirilmiş piksel (sp) birimleri kullanma

Metin boyutlarını her zaman sp birimleri cinsinden belirtmeyi unutmayın. Uygulamanız sp birimleri kullandığında, Android kullanıcının tercih ettiği metin boyutunu uygulayabilir ve uygun şekilde ölçeklendirebilir.

Dolgu için sp birimleri kullanmayın veya örtülü dolgunun varsayıldığında görünüm yüksekliklerini tanımlamayın: Doğrusal olmayan yazı tipi ölçeklendirme sp boyutları orantılı olmayabilir. Bu nedenle 4 sp + 20 sp, 24 sp'ye eşit olmayabilir.

Ölçeklendirilmiş piksel (sp) birimlerini dönüştürme

sp birimlerinden piksele dönüştürmek için TypedValue.applyDimension(), pikselleri sp'ye dönüştürmek için TypedValue.deriveDimension() kullanın. Bu yöntemler, uygun doğrusal olmayan ölçeklendirme eğrisini otomatik olarak uygular.

Configuration.fontScale veya DisplayMetrics.scaledDensity kullanarak denklemleri tek tek girmekten kaçının. Yazı tipi ölçeklendirme doğrusal olmadığından scaledDensity alanı artık doğru değildir. Yazı tipleri artık tek bir skaler değerle ölçeklendirilmediğinden, fontScale alanı yalnızca bilgi amaçlı kullanılmalıdır.

lineHeight için sp birimleri kullan

android:lineHeight öğesini her zaman dp yerine sp birimleri kullanarak tanımlayın. Böylece satır yüksekliği metninizle birlikte ölçeklenir. Aksi takdirde, metniniz sp ancak lineHeight öğeniz dp veya px biçimindeyse ölçeklendirilmez ve sıkışık görünür. TextView, istediğiniz oranların korunması için lineHeight öğesini otomatik olarak düzeltir, ancak bunun için hem textSize hem de lineHeight sp birimlerinde tanımlanmışsa geçerlidir.

Kamera ve medya

Resimler için ultra HDR

An illustration of Standard Dynamic Range (SDR) versus High Dynamic Range (HDR) image quality.

Android 14 adds support for High Dynamic Range (HDR) images that retain more of the information from the sensor when taking a photo, which enables vibrant colors and greater contrast. Android uses the Ultra HDR format, which is fully backward compatible with JPEG images, allowing apps to seamlessly interoperate with HDR images, displaying them in Standard Dynamic Range (SDR) as needed.

Rendering these images in the UI in HDR is done automatically by the framework when your app opts in to using HDR UI for its Activity Window, either through a manifest entry or at runtime by calling Window.setColorMode(). You can also capture compressed Ultra HDR still images on supported devices. With more colors recovered from the sensor, editing in post can be more flexible. The Gainmap associated with Ultra HDR images can be used to render them using OpenGL or Vulkan.

Kamera uzantılarında Yakınlaştırma, Odaklama, Postview ve daha fazlası

Android 14 upgrades and improves camera extensions, allowing apps to handle longer processing times, which enables improved images using compute-intensive algorithms like low-light photography on supported devices. These features give users an even more robust experience when using camera extension capabilities. Examples of these improvements include:

Sensör içi yakınlaştırma

When REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE in CameraCharacteristics contains SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW, your app can use advanced sensor capabilities to give a cropped RAW stream the same pixels as the full field of view by using a CaptureRequest with a RAW target that has stream use case set to CameraMetadata.SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW. By implementing the request override controls, the updated camera gives users zoom control even before other camera controls are ready.

Kayıpsız USB ses

Android 14, USB kablolu kulaklıklar üzerinden ses meraklıları seviyesindeki deneyimler için kayıpsız ses biçimlerini destekliyor. Bir USB cihazı tercih edilen mikser özellikleriyle sorgulayabilir, tercih edilen mikser özelliklerindeki değişiklikler için bir işleyici kaydedebilir ve AudioMixerAttributes sınıfını kullanarak mikser özelliklerini yapılandırabilirsiniz. Bu sınıf; kanal maskesi, örnek hızı ve ses karıştırıcının davranışı gibi biçimini temsil eder. Sınıf; karıştırma, ses ayarı veya işleme efektleri olmadan sesin doğrudan gönderilmesine olanak tanır.

Geliştirici verimliliği ve araçları

Kimlik Bilgisi Yöneticisi

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 is an on-device repository for user health and fitness data. It allows users to share data between their favorite apps, with a single place to control what data they want to share with these apps.

On devices running Android versions prior to Android 14, Health Connect is available to download as an app on the Google Play store. Starting with Android 14, Health Connect is part of the platform and receives updates through Google Play system updates without requiring a separate download. With this, Health Connect can be updated frequently, and your apps can rely on Health Connect being available on devices running Android 14 or higher. Users can access Health Connect from the Settings in their device, with privacy controls integrated into the system settings.

Users can get started using Health Connect without a separate app download on devices running Android 14 or higher.
Users can control which apps have access to their health and fitness data through system settings.

Health Connect includes several new features in Android 14, such as exercise routes, allowing users to share a route of their workout which can be visualized on a map. A route is defined as a list of locations saved within a window of time, and your app can insert routes into exercise sessions, tying them together. To ensure that users have complete control over this sensitive data, users must allow sharing individual routes with other apps.

For more information, see the Health Connection documentation and the blogpost on What's new in Android Health.

OpenJDK 17 güncellemeleri

Android 14, Android'in temel kitaplıklarını, uygulama ve platform geliştiricileri için kitaplık güncellemeleri ve Java 17 dil desteği de dahil olmak üzere en son OpenJDK LTS sürümlerindeki özelliklerle uyumlu olacak şekilde yenileme çalışmalarına devam ediyor.

Şu özellikler ve iyileştirmeler dahildir:

  • Yaklaşık 300 java.base sınıfı, Java 17 desteği ile güncellendi.
  • Metin Blokları, çok satırlı dize değişmez değerlerini Java programlama diline ekler.
  • Örnek için Kalıp Eşleştirme: Bir nesnenin herhangi bir ek değişken olmadan instanceof içinde belirli bir türe sahip olarak değerlendirilmesini sağlar.
  • Gizli sınıflar: Bu sınıf ve arayüzlerin genişletilmesini veya uygulanmasını kısıtlamanıza olanak tanır.

Google Play sistem güncellemeleri (Project Mainline) sayesinde 600 milyondan fazla cihazın bu değişiklikleri içeren en son Android Çalışma Zamanı (ART) güncellemelerini alabilmesi sağlandı. Bu, uygulamalara cihazlar genelinde daha tutarlı ve güvenli bir ortam sağlama ve kullanıcılara platform sürümlerinden bağımsız olarak yeni özellikler ve olanaklar sunma taahhüdümüzün bir parçasıdır.

Java ve OpenJDK, Oracle ve/veya satış ortaklarının ticari markaları ya da tescilli ticari markalarıdır.

Uygulama mağazaları için iyileştirmeler

Android 14 introduces several PackageInstaller APIs that allow app stores to improve their user experience.

Request install approval before downloading

Installing or updating an app might require user approval. For example, when an installer making use of the REQUEST_INSTALL_PACKAGES permission attempts to install a new app. In prior Android versions, app stores can only request user approval after APKs are written to the install session and the session is committed.

Starting with Android 14, the requestUserPreapproval() method lets installers request user approval before committing the install session. This improvement lets an app store defer downloading any APKs until after the installation has been approved by the user. Furthermore, once a user has approved installation, the app store can download and install the app in the background without interrupting the user.

Claim responsibility for future updates

The setRequestUpdateOwnership() method allows an installer to indicate to the system that it intends to be responsible for future updates to an app it is installing. This capability enables update ownership enforcement, meaning that only the update owner is permitted to install automatic updates to the app. Update ownership enforcement helps to ensure that users receive updates only from the expected app store.

Any other installer, including those making use of the INSTALL_PACKAGES permission, must receive explicit user approval in order to install an update. If a user decides to proceed with an update from another source, update ownership is lost.

Update apps at less-disruptive times

App stores typically want to avoid updating an app that is actively in use because this leads to the app's running processes being killed, which potentially interrupts what the user was doing.

Starting with Android 14, the InstallConstraints API gives installers a way to ensure that their app updates happen at an opportune moment. For example, an app store can call the commitSessionAfterInstallConstraintsAreMet() method to make sure that an update is only committed when the user is no longer interacting with the app in question.

Seamlessly install optional splits

With split APKs, features of an app can be delivered in separate APK files, rather than as a monolithic APK. Split APKs allow app stores to optimize the delivery of different app components. For example, app stores might optimize based on the properties of the target device. The PackageInstaller API has supported splits since its introduction in API level 22.

In Android 14, the setDontKillApp() method allows an installer to indicate that the app's running processes shouldn't be killed when new splits are installed. App stores can use this feature to seamlessly install new features of an app while the user is using the app.

Uygulama meta veri paketleri

Android 14'ten itibaren Android paket yükleyici, Google Play gibi uygulama mağazası sayfalarına eklemek için veri güvenliği yöntemleri gibi uygulama meta verilerini belirtmenizi sağlar.

Kullanıcılar cihaz ekran görüntüsü aldığında bunu algılar

To create a more standardized experience for detecting screenshots, Android 14 introduces a privacy-preserving screenshot detection API. This API lets apps register callbacks on a per-activity basis. These callbacks are invoked, and the user is notified, when the user takes a screenshot while that activity is visible.

Kullanıcı deneyimi

Sharesheet'te özel işlemler ve iyileştirilmiş sıralama

Android 14, sistem paylaşım sayfasını özel uygulama işlemlerini ve kullanıcılar için daha bilgilendirici önizleme sonuçlarını destekleyecek şekilde günceller.

Özel işlemler ekleme

Android 14 ile uygulamanız, çağrı yaptığı sistem paylaşım sayfasına özel işlemler ekleyebilir.

Paylaşım sayfasındaki özel işlemlerin ekran görüntüsü.

Direct Share hedeflerinin sıralamasını iyileştirme

Android 14, kullanıcıya daha faydalı sonuçlar sunmak amacıyla doğrudan paylaşım hedeflerinin sıralamasını belirlemek için uygulamalardan gelen daha fazla sinyali kullanır. Sıralama için en yararlı sinyali sağlamak üzere Doğrudan Paylaşım hedeflerinizin sıralamasını iyileştirme yönergelerini izleyin. İletişim uygulamaları, giden ve gelen mesajlar için kısayol kullanımını da bildirebilir.

1
tarafından gösterildiği şekilde, paylaşım sayfasındaki Doğrudan Paylaşım satırı

Tahmine Dayalı Geri Dönme özelliği için yerleşik ve özel animasyonlar için destek

Video: Predictive back animations

Android 13 introduced the predictive back-to-home animation behind a developer option. When used in a supported app with the developer option enabled, swiping back shows an animation indicating that the back gesture exits the app back to the home screen.

Android 14 includes multiple improvements and new guidance for Predictive Back:

With this Android 14 preview release, all features of Predictive Back remain behind a developer option. See the developer guide to migrate your app to predictive back, as well as the developer guide to creating custom in-app transitions.

Büyük ekranlı cihaz üreticisinin uygulama bazında geçersiz kılmaları

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.

Büyük ekran kullanıcı başına uygulama başına geçersiz kılmalar

Uygulama bazında geçersiz kılmalar, uygulamaların büyük ekranlı cihazlardaki davranışını değiştirir. Örneğin, OVERRIDE_MIN_ASPECT_RATIO_LARGE cihaz üreticisi geçersiz kılma ayarı, uygulamanın yapılandırmasından bağımsız olarak uygulama en boy oranını 16:9 olarak ayarlar.

Android 14 QPR1, kullanıcıların büyük ekranlı cihazlarda yeni bir ayarlar menüsü aracılığıyla uygulama bazında geçersiz kılmaları uygulamasına olanak tanır.

Uygulama ekran paylaşımı

App screen sharing enables users to share an app window instead of the entire device screen during screen content recording.

With app screen sharing, the status bar, navigation bar, notifications, and other system UI elements are excluded from the shared display. Only the content of the selected app is shared.

App screen sharing improves productivity and privacy by enabling users to run multiple apps but limit content sharing to a single app.

Pixel 8 Pro'daki Gboard'da LLM destekli Akıllı Yanıt

Aralık ayı özellik değişikliğine sahip Pixel 8 Pro cihazlarda geliştiriciler, Google Tensor'da çalışan cihaz üzerindeki Büyük Dil Modelleri (LLM) ile desteklenen Gboard'da daha yüksek kaliteli akıllı yanıtları deneyebilirler.

Bu özellik WhatsApp, Line ve KakaoTalk'da ABD İngilizcesi için sınırlı önizleme olarak kullanılabilir. Klavyeniz olarak Gboard ile bir Pixel 8 Pro cihaz kullanmanızı gerekir.

Denemek için önce Ayarlar > Geliştirici Seçenekleri > AiCore Ayarları > Aicore Persistent'ı Etkinleştir seçeneğinden özelliği etkinleştirin.

Ardından, gelen mesajlara yanıt olarak Gboard'un öneri şeridinde LLM destekli Akıllı Yanıt'ı görmek için desteklenen bir uygulamada bir sohbet açın.

Gboard, daha yüksek kaliteli akıllı yanıtlar sağlamak için cihaz üzerinde büyük dil modeli (LLM) kullanır.

Grafik

Yollar sorgulanabilir ve birlikte kullanılabilir

Android'in Path API'si, vektör grafikleri oluşturmak ve oluşturmak için güçlü ve esnek bir mekanizmadır. Bir yolu çizme veya doldurma, çizgi segmentlerinden ya da ikinci dereceden veya kübik eğrilerden yol çizme, daha da karmaşık şekiller elde etmek için boole işlemleri gerçekleştirme veya bunların hepsini aynı anda yapma yeteneğine sahiptir. Bir sınırlama, bir Yol nesnesinin gerçekte ne olduğunu bulabilme olanağıdır. Nesnenin dahili öğeleri, oluşturulduktan sonra çağrıcılar için opaktır.

Path oluşturmak için yol segmentleri eklemek üzere moveTo(), lineTo() ve cubicTo() gibi yöntemleri çağırırsınız. Ancak bu yola segmentlerin ne olduğunu sormanın bir yolu yoktu, bu yüzden bu bilgileri oluşturma aşamasında saklamanız gerekiyor.

Android 14'ten itibaren, içinde ne olduğunu öğrenmek için yolları sorgulayabilirsiniz. Öncelikle Path.getPathIterator API'sini kullanarak bir PathIterator nesnesi almanız gerekir:

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();

Daha sonra, her bir segment için gerekli tüm verileri almak üzere segmentlerde tek tek yineleme yapmak için PathIterator yöntemini çağırabilirsiniz. Bu örnekte, verileri sizin için paketleyen PathIterator.Segment nesneleri kullanılmaktadır:

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, nokta verilerini saklamak için bir arabellek geçirebileceğiniz, ayrılmayan bir next() sürümüne de sahiptir.

Path verilerinin sorgulanmasında önemli kullanım alanlarından biri interpolasyondur. Örneğin, iki farklı yol arasında animasyon uygulamak (veya morph) uygulamak isteyebilirsiniz. Android 14, bu kullanım alanını daha da basitleştirmek için Path üzerinde interpolate() yöntemini de içerir. İki yolun aynı dahili yapıya sahip olduğu varsayıldığında, interpolate() yöntemi bu interpolasyon sonucuyla yeni bir Path oluşturur. Bu örnek, şekli path ile otherPath arasında yarım olan (0,5'lik doğrusal interpolasyon) olan bir yolu döndürür:

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 kitaplığı Android'in önceki sürümleri için de benzer API'ler sağlar.

Köşe ve parça gölgelendiricileri olan özel örgüler

Android has long supported drawing triangle meshes with custom shading, but the input mesh format has been limited to a few predefined attribute combinations. Android 14 adds support for custom meshes, which can be defined as triangles or triangle strips, and can, optionally, be indexed. These meshes are specified with custom attributes, vertex strides, varying, and vertex and fragment shaders written in AGSL.

The vertex shader defines the varyings, such as position and color, while the fragment shader can optionally define the color for the pixel, typically by using the varyings created by the vertex shader. If color is provided by the fragment shader, it is then blended with the current Paint color using the blend mode selected when drawing the mesh. Uniforms can be passed into the fragment and vertex shaders for additional flexibility.

Tuval için donanım arabellek oluşturucu

Android 14, HardwareBuffer'e donanım hızlandırmayla çizim yapmak için Android'in Canvas API'sini kullanmaya yardımcı olmak amacıyla HardwareBufferRenderer'ı kullanıma sundu. Bu API özellikle kullanım alanınızda düşük gecikmeli çizim için SurfaceControl üzerinden sistem oluşturucuyla iletişim kurulması gerektiği durumlarda kullanışlıdır.