Destek Kitaplığı Özellikleri Kılavuzu

Not: Android 9.0 (API düzeyi 28) sürümüyle birlikte, destek kitaplığının Jetpack'in bir parçası olan AndroidX adlı yeni bir sürümü var. AndroidX kitaplığı, mevcut destek kitaplığını ve en yeni Jetpack bileşenlerini içerir.

Destek kitaplığını kullanmaya devam edebilirsiniz. Tarihi eserler (27 ve önceki sürümlerle android.support.* olarak paketlenenler) Google Maven'da kullanılabilir olmaya devam eder. Ancak tüm yeni kitaplık geliştirmeleri AndroidX kitaplığında yapılacaktır.

Tüm yeni projelerde AndroidX kitaplıklarını kullanmanızı öneririz. Ayrıca mevcut projeleri AndroidX'e taşımayı da düşünebilirsiniz.

Destek Kitaplıkları, temel uygulama bileşenlerinden kullanıcı arayüzü widget'larına, medya işleme ve TV uygulaması bileşenlerine kadar uygulama oluşturmak için çok çeşitli sınıflar sunar. Sınıfların çoğu geriye dönük uyumlu uygulamalardır ancak bazıları da kendi başlarına yeni özelliklerdir.

Bu dokümanda, destek kitaplığında bulunan önemli özellik kategorilerine ve uygulamanızı oluştururken bilmeniz gereken belirli sınıflara genel bir bakış sunulmaktadır.

Uygulama geliştirme projenize destek kitaplığı kodu ekleme hakkında bilgi edinmek için Destek Kitaplığı Kurulumu sayfasını inceleyin. Belirli destek kitaplığı paketlerini projenize ekleme hakkında bilgi edinmek için Destek Kitaplığı Paketleri bölümüne bakın.

Uygulama Bileşenleri

Bu Destek Kitaplığı sınıfları, önemli ve temel platform özelliklerinin geriye dönük uyumlu uygulamalarını sağlar. Bu uygulama, platformun son sürümlerinde eklenen yeni yöntemleri ve özellikleri işlemek için genellikle sınıfın önceki sürümlerini genişletir. Bu sınıfların bazıları çerçeve API'lerinin eksiksiz, statik uygulamalarıdır.

  • Etkinlikler
    • ActivityCompat: Çalışma Zamanı İzinleri ve animasyon geçişleri gibi yeni etkinliklerin temel özellikleri için geriye dönük uyumlu uygulamayı içerir.
    • FragmentActivity - Fragment ve Loader API'lerinin destek kitaplığı sürümlerini kullanmak amacıyla etkinlikler için geriye dönük uyumlu uygulama sağlar.
    • AppCompatActivity - Eski cihazlara Materyal renk temaları, widget renklendirmesi ve uygulama çubuğu desteği sağlar. Bu sınıfın kullanımı, tutarlı görsel sunum için Theme.AppCompat temaları kullanmanızı gerektirir.
  • Fragment - Fragment çerçevesi sınıfının bağımsız bir uygulamasını sağlar. Bu sınıf FragmentActivity ile kullanılmalıdır.
  • ContextCompat - İzin desteği, dosya erişimi ve renk bilgileri dahil olmak üzere Context sınıfının daha yeni sürümlerinde kullanıma sunulan özellikler için destek sağlar.
  • IntentCompat - Belirli etkinlikleri seçme ve başlatma yöntemleri dahil olmak üzere Intent sınıfının daha yeni sürümlerinde sunulan özelliklerle ilgili destek sağlar.
  • Loader - Loader çerçevesi sınıfının statik uygulamasını sağlar ve AsyncTaskLoader ile CursorLoader destek sınıfları için temel sınıftır.
  • Preference - Bu sınıf ve alt sınıfları, uygulama ayarları kullanıcı arayüzünün geriye dönük uyumlu olarak uygulanmasını sağlar.
  • ContentResolverCompat - ContentResolver sınıfının daha yeni sürümlerinde kullanıma sunulan özellikler, özellikle de devam eden bir sorguyu iptal etme desteği içeren query() yöntemi için destek sağlar.

Kullanıcı Arayüzü

Bu destek kitaplığı sınıfları, temel kullanıcı arayüzü widget'larının ve davranışlarının uygulanmasını sağlar ve eski cihazlarda daha modern uygulama arayüzleri oluşturmanıza yardımcı olur. Bu widget'ların bazıları yalnızca destek kitaplığında bulunabilir.

Genel amaçlı düzen kapsayıcıları

Bu destek sınıfları, farklı tasarım kullanım alanlarına uyarlanabilen kullanıcı arayüzü kapsayıcıları sunar.

  • RecyclerView - Yüksek bellek tüketimini önlemek amacıyla bir strateji kullanarak uzun listeleri görüntülemek için bir düzen oluşturur. Bu sınıf, daha büyük bir veri kümesinde sınırlı bir pencere görünümü oluşturmanıza olanak tanır. Böylece, liste görüntülenirken büyük miktarda bellek harcanmaz. RecyclerView kullanımı hakkında daha fazla bilgi için Geri Dönüşüm Aracı Görünümü kılavuzuna bakın.
  • ViewPager - Kullanıcının veri sayfaları arasında sola ve sağa dönmesini sağlayan bir düzen sağlar.
  • GridLayout - Dikdörtgen ızgarada, rastgele bitişik hücre aralıklarını ve esnek alan dağılımını destekleyen bir düzen sağlar. Bu sınıf, GridLayout sınıfının Android 4.0 (API düzeyi 14) sürümünde kullanıma sunulan geriye dönük uyumlu bir sürümünü sağlar.
  • PercentFrameLayout ve PercentRelativeLayout - Alt görünümleri ve içeriği için yüzdeye dayalı boyutları ve kenar boşluklarını destekleyen düzenler sağlayın.

Not: ViewPager, RecyclerView, PercentFrameLayout ve PercentRelativeLayout sınıfları yalnızca Destek Kitaplıkları'ndan kullanılabilir.

Özel amaçlı düzen kapsayıcıları

Bu destek sınıfları; ekranın kenarından çekilebilen çekmece görünümleri, kayan paneller ve listelerin içine yerleştirme listeleri gibi belirli düzen kalıplarının uyumlu uygulamalarını sağlar.

  • DrawerLayout - Etkileşimli çekmece görünümlerinin görünüm penceresinin kenarından çıkarılmasına olanak tanıyan bir düzen oluşturur.
  • SlidingPaneLayout - Birçok farklı ekran boyutuna sorunsuz bir şekilde uyum sağlayan, daha büyük ekranlara genişleyen ve daha küçük ekranlara sığacak şekilde daralabilen düzenler oluşturmak için uygulama kullanıcı arayüzünün en üst düzeyinde kullanılmak üzere yatay, çok bölmeli bir düzen sağlar.
  • NestedScrollView: Diğer kaydırma görünümlerinin iç içe yerleştirilmesini destekleyen, böylece ek bir alt liste içeren öğelerle listeler oluşturmanıza olanak tanıyan kaydırma düzeni. Bu iç içe yerleştirilmiş listeler, üst listeden ayrı olarak yatay veya dikey olarak kaydırılan öğeler içerebilir.
  • SwipeRefreshLayout - Listeler veya başka bir düzen için parmakla kaydırma hareketiyle verilerin yenilenmesini desteklemek için bir düzen sağlar.

Görünümler, iletişim kutuları ve widget'lar

Destek kitaplıkları, içeriğin görüntülenmesi ve kullanıcı etkileşimi öğelerinin bir düzen içinde sağlanması için çeşitli sınıflar sağlar.

  • CardView - Materyal Tasarım stili ekran kartları oluşturmak için kullanılan destek kitaplığı özel sınıfı. Bu sınıf, yuvarlatılmış köşeleri ve gölgesi olan FrameLayout'u temel alır.
  • AppCompatDialogFragment - DialogFragment kapsamını genişletip AppCompatDialog kullanarak tutarlı bir stile sahip iletişim kutuları sağlar.
  • NotificationCompat - Yeni bildirim stilleri için geriye dönük uyumlu bir şekilde destek sağlar.
  • SearchView - Kullanıcının bir arama sorgusu girmesi ve arama sağlayıcısına istek göndermesi için öncelikle uygulama çubuğunda kullanılmak üzere bir sınıf sağlar.

Materyal Tasarım

Destek kitaplıkları, Materyal Tasarım kullanıcı arayüzü önerilerini uygulamak için çeşitli sınıflar sağlar.

  • CoordinatorLayout - Materyal Tasarım bileşenlerini ve davranışını içeren düzenler için üst düzey bir kapsayıcı sağlar. Bu sınıf, bir veya daha fazla alt görünümle belirli bir etkileşim için kapsayıcı olarak da kullanılabilir.
  • AppBarLayout - Materyal Tasarım'ın uygulama çubuğu konseptindeki kaydırma özelliklerinin çoğunun uygulanmasını sağlar.
  • FloatingActionButton - Özel bir tür tanıtılan işlem görüntülemek için kayan düğme oluşturur. Bu Materyal Tasarım kullanıcı arayüzü öğesi, uygulama kullanıcı arayüzünün üzerinde kayan daire içinde bir simge olarak gösterilmektedir. Daha fazla bilgi için Kayan İşlem Düğmesi Ekleme konusuna bakın.
  • DrawerLayout - Gezinme çekmecesi oluşturur. Bu, uygulamanızın ana gezinme menüsünü gösteren bir kullanıcı arayüzü panelidir. Kullanıcı, bir parmağını ekranın sol kenarından kaydırdığında veya uygulama çubuğundaki çekmece simgesine dokunduğunda görünür. Daha fazla bilgi için Gezinme çekmecesi oluşturma konusuna bakın.
  • TabLayout - Sekmeli sayfaları görüntülemek için bir düzen sağlar. Bu widget, ViewPager sınıfıyla kullanılmak üzere tasarlanmıştır.
  • Snackbar - Atıştırma çubuğu pop-up'ını kullanarak işlemle ilgili basit geri bildirim görüntülemek için bir widget sağlar.

Görseller

android.support.graphics.drawable paketi, vektör çizimleri için destek sağlar. Vektör çizimlerini kullanarak birden fazla PNG öğesini XML olarak tanımlanmış tek bir vektör grafiğiyle değiştirebilirsiniz.

VectorDrawableCompat, API düzeyi 9 ve üzeri üzerinde vektör çizimleri için destek sağlar. AnimatedVectorDrawableCompat, API düzeyi 11 ve üzeri sürümlerde animasyonlu vektörel çizimler için destek sağlar.

Erişilebilirlik

android.support.v4.view.accessibility paketi, API düzeyi 14 ve sonraki sürümlerde sunulan erişilebilirlik özelliklerini uygulamak için uyumluluk sınıfları sağlar. Bu sınıflar, erişilebilirlik hizmetlerinin ekranda görüntülenen öğelerle kullanıcı etkileşimini gözlemleyip tanımlamasına olanak tanır.

  • ExploreByTouchHelper - Görünüme benzeyen mantıksal öğelerden oluşan bir koleksiyonu temsil eden özel bir Görünüm'de erişilebilirlik desteği sağlar.

Medya Oynatma

Android Destek Kitaplığı, platformun Android 4.1'den (API düzeyi 16) önceki sürümlerini çalıştıran cihazlara medya yönlendiricisi işlevselliğinin geri taşınmasını sağlar. Bu sınıflar, bağlı Android cihazlarda medya oynatmayı kontrol etmenizi sağlar:

  • MediaRouter - Uygulamaların, medya kanallarının ve akışların mevcut cihazdan harici hoparlörlere ve hedef cihazlara yönlendirilmesini kontrol etmesini sağlar.
  • MediaControllerCompat: Bir uygulamanın devam eden bir medya oturumuyla etkileşim kurmasına izin verir. Uygulamalar bu mekanizma üzerinden medya kontrol düğmeleri sağlayabilir ve oturuma diğer oynatma komutlarını gönderebilir.
  • MediaSessionCompat - Diğer uygulamalardaki veya ayrı cihazlardaki medya kumandaları, ses seviyesi tuşları, medya düğmeleri ve aktarım kontrolleriyle etkileşime olanak tanıyarak medya oynatma için uzaktan kumanda arayüzü sağlar.

TV Uygulamaları

Android SDK, büyük ekranlar ve bunlarla ilişkili denetleyiciler gibi form faktörlerini desteklemek için kitaplıklar sağlar. Bir uygulama çok çeşitli platform sürümlerinde işlevsellik sağlamak için uygun destek kitaplığına güvenebilir ve harici ekranlarda, hoparlörlerde ve diğer hedef cihazlarda içerik sağlayabilir.

Wear Uygulamaları

Android SDK, saatleri desteklemek için kitaplıklar sağlar. Bu kitaplıklar, kol saati takan kullanıcılara sunulan uygulamalara işlevler sağlar.

Yardımcı programlar

Android Destek Kitaplığı, bu çerçevede yerleşik olmayan çeşitli özellikler sunar. Bu kitaplıklar, uygulamaların kullanabileceği çeşitli yardımcı programlar sunar.