Saya punya pertanyaan tentang Perpustakaan Dukungan Android, Fragmen, dan sebagai contoh spesifik, ViewPager
kelas. Tujuan saya adalah membuat aplikasi dengan fungsionalitas yang mirip dengan sampel yang disediakan di situs web Pengembang Android ( http://developer.android.com/training/animation/screen-slide.html atau http://developer.android.com/ pelatihan / implementasi-navigasi / lateral.html ). Melihat ke kode mereka, saya perhatikan mereka memanfaatkan android.support.v4.app
perpustakaan, yang dari penelitian saya adalah satu-satunya cara untuk mengakses ViewPager
kelas.
Dalam situasi saya, saya tidak tertarik pada kompatibilitas ke belakang. Level API minimum adalah 14 (Ice Cream Sandwich) dan target build adalah 4.2 Jelly Bean. Dalam bentuknya yang paling sederhana, aplikasi saya melakukan persis seperti demo kedua yang saya tautkan di situs Android dev - hanya menggesek antara tiga tab dengan konten di masing-masing.
Semua artikel / posting / jawaban yang saya baca tampaknya sangat mendukung perpustakaan dukungan v4 . Sekarang untuk pertanyaan saya, meskipun bertele-tele:
Apa cara terbaik untuk menyusun aplikasi saya - menggunakan
android.support.v4.app
, dan dengan demikian menggunakan SupportFragments, atau menggunakan Fragmen yang disediakanandroid.app
- dan mengapa?Jika Fragmen dari
android.app
adalah cara untuk pergi, apa cara optimal untuk mendekatiViewPagers
?Jika SupportFragments paling cocok untuk tugas tersebut, saya akan memperkirakan bahwa mereka memiliki fungsi yang sama dengan yang lain - jadi apa tujuan dari memiliki semuanya di dalam
android.app
?
Semoga seseorang dengan pemahaman yang lebih jelas dapat memberi saya sedikit klarifikasi karena saya bingung ...
Fragments
jika Anda menggunakanViewPager
Anda harus menggunakan perpustakaan dukunganSupportFragment
SupportFragment
bukan kelas di Android SDK ...SupportFragment
, saya hanya merujuk padaFragment
kelas yang tersedia diandroid.support.v4.app
.ViewPager
diandroid.app
.Jawaban:
Anda dapat menggunakan
ViewPager
fragmen asli dariandroid.app
paket dengan adapter dari paket android.support.v13.app . Anda harus menggunakan jar dukungan v13 untuk itu.Ada dua versi adapter yang bekerja dengan
ViewPager
, yang ada dalamv4
paket dimaksudkan untuk digunakan dengan fragmen pendukung, yang ada div13
dengan fragmen asli.Alasan mengapa sekarang ada dua implementasi fragmen adalah historis: Fragmen dalam
android.app
paket itu diperkenalkan dengan Android 3 hanya untuk tablet dan perpustakaan dukungan dibuat untuk membawa fragmen ke ponsel yang menjalankan versi yang lebih lama. Di Android 4 Anda memiliki keduanya.Dari pengalaman saya sendiri, saya akan merekomendasikan menggunakan fragmen dukungan, bahkan ketika mengembangkan untuk Android 4. Berikut adalah beberapa alasan: Fragmen atau Fragmen Dukungan?
sumber
android.app
tidak memilikinyaFragmentPagerAdapter
maka menjadi mustahil untuk menggunakan viewpager dengan android.app.Fragment? ada ide di sini? apakah ada opsi pager tampilan lama? Sehingga untuk secara dinamis menghubungkan fragmen untuk tab yang diberikanandroid.support.v4.app
paket itu bekerja dengan fragmen pendukung, yang lainandroid.support.v13.app
dengan fragmen 'normal'android.app.Fragment
kelas sudah ditinggalkan sejak Android P ( tautan ), jadi hanyaandroid.support.v4.app.Fragment
harus digunakan di mana saja.sumber
Jika Anda akan menargetkan API 11+, Anda tidak akan memerlukan pustaka dukungan [dan setidaknya apk Anda yang sebenarnya akan lebih kecil).
Jika Anda ingin mendukung apa pun sebelum Android 3.x, Anda memerlukan pustaka dukungan.
Apakah ini yang Anda tanyakan?
sumber
ViewPager
fungsionalitas, dan penjelasan mengapa solusi itu terbaik.