ViewPager kullanarak android.upport.v4.app vs Android.app Parçalar?


182

Android Destek Kitaplıkları, Parçaları ve belirli bir örnek olarak ViewPagersınıfla ilgili bir sorum var . Amacım, Android Geliştirici web sitesinde ( http://developer.android.com/training/animation/screen-slide.html veya http://developer.android.com/ sağlanan örnekle benzer işlevlere sahip bir uygulama oluşturmaktır. eğitim / uygulama-gezinme / lateral.html ). Kodlarına baktığımda, android.support.v4.apparaştırmamdan ViewPagersınıfa erişmenin tek yolu olan kütüphaneyi kullandıklarını fark ettim .

Benim durumumda, geriye dönük uyumlulukla ilgilenmiyorum. Minimum API seviyesi 14'tür (Ice Cream Sandwich) ve yapım hedefi 4.2 Jelly Bean'dir. En basit şekliyle, uygulamam Android dev web sitesinde bağladığım ikinci demoda olduğu gibi çalışıyor - her birinde içerik bulunan üç sekme arasında kaydırma.

Okuduğum tüm makaleler / gönderiler / cevaplar v4 destek kütüphanesini büyük ölçüde destekliyor gibi görünüyor . Şimdi, uzun soluklu da olsa sorularım için:

  1. Uygulamamı yapılandırmanın en iyi yolu nedir - android.support.v4.appSupportFragments kullanarak ve böylece kullanarak veya sağlanan Fragmentleri kullanmak android.app- ve neden?

  2. Eğer Parçacıklar android.appgitmenin yolu ise, yaklaşmanın en iyi yolu ViewPagersnedir?

  3. SupportFragments göreve en uygunsa, diğerleriyle aynı işlevselliğe sahip olduklarını tahmin ediyorum - bu yüzden onları içeride bulundurmanın amacı android.appnedir?

Umarım daha net bir anlayışa sahip biri bana biraz açıklama yapabilir, çünkü şaşırdım ...


1
Eğer kullanamazsınız Fragmentskullandığınız takdirde ViewPagersen destek kütüphanesini kullanmak gerekmezSupportFragment
tyczj

1
SupportFragmentAndroid SDK'sında bir sınıf değil ...
Karakuri

2
@Karakuri Karışıklık için özür dilerim; Ben gerçek bir sınıf demek istemiyorum SupportFragment, sadece Fragmentmevcut sınıfa atıfta bulunuyorum android.support.v4.app.
jonstaff

@jonstaff her iki durumda da sadece parça kütüphanesini destek kütüphanesinde kullanabilirsiniz
tyczj

@tyczj Teşekkürler, ama bu soruya gerçekten cevap vermiyor. Ben daha arıyorum neden hayır yoktur, zaten biliyorum beri ViewPageriçinde android.app.
jonstaff

Yanıtlar:


183

Android.support.v13.app paketinin adaptörleri ile paketin ViewPageryerel parçaları ile kullanabilirsiniz . Bunun için v13 destek kavanozunu kullanmanız gerekir.android.app

Bağdaştırıcıların birlikte çalışan iki sürümü vardır ViewPager, v4pakettekiler destek parçalarıyla, v13doğal parçalarla olanlar içindir .

Şimdi iki parça uygulamasının nedeni tarihseldir: android.appPaketteki parçalar sadece tabletler için Android 3 ile tanıtıldı ve destek kütüphanesi eski sürümleri çalıştıran telefonlara parça getirmek için oluşturuldu. Android 4'te her ikisine de sahipsiniz.

Kendi deneyimlerime dayanarak, Android 4 için geliştirirken bile destek parçalarını kullanmanızı tavsiye ederim. İşte bazı nedenler: Parça veya Destek Parça?


3
Bunun için teşekkür ederim! Partiye geç kaldığımı biliyorum, ama bu cevap bana çok yardımcı oldu.
Kyle

support.v13 ViewPager için çalışır ... siz bir Dialog'da ViewPager'i kullanana kadarFragment :-(
SteelBytes

android.appöyle değil FragmentPagerAdaptero zaman android.app.Fragment ile viewpager kullanmak imkansız hale gelir? burada bir fikrin var mı? eski görünüm çağrı cihazı için herhangi bir seçenek var mı? Verilen sekmeler için parçayı dinamik olarak bağlamak için
Nikhil

@Nikhil'in iki FragmentPagerAdapter sürümü var. Tek android.support.v4.apppakette, destek parçaları ile diğer işleri android.support.v13.app'normal' parçalarıyla
brillenheini

V4 kullanmayı umuyordum ki v4 kullanmaktan kaçınabildim. V4'ün v13 için bir bağımlılık olduğu ortaya çıktı, bu yüzden destek parçalarını / görünüm çağrı cihazını da kullanabilirim.
Vas

3

android.app.Fragmentsınıf, Android P'den ( bağlantı ) beri kullanımdan kaldırılmıştır , bu nedenle yalnızca android.support.v4.app.Fragmenther yerde kullanılmalıdır.


1

API 11+'yi hedefleyecekseniz, destek kitaplığına ihtiyacınız olmayacak [ve gerçek apk'niz en azından daha küçük olacaktır).

Android 3.x'ten önceki herhangi bir şeyi desteklemek istiyorsanız, destek kitaplığına ihtiyacınız olacaktır.

Sorduğun şey bu mu?


9
onun hakkında sorduğu ViewPager'i kullanmak için destek kütüphanesini kullanmanız gerekiyor
tyczj

@ Cevap Yanıtınız için teşekkürler, ancak ViewPagerişlevselliği ve bu çözümün neden en iyi olduğunu açıklayan en iyi çözümü arıyorum .
jonstaff
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.