Bagikan melalui


Fragmen

Android 3.0 memperkenalkan Fragmen, menunjukkan cara mendukung desain yang lebih fleksibel untuk berbagai ukuran layar yang ditemukan di ponsel dan tablet. Artikel ini akan membahas cara menggunakan Fragmen untuk mengembangkan aplikasi Xamarin.Android, dan juga cara mendukung Fragmen pada perangkat pra-Android 3.0 (API Level 11).

Gambaran Umum Fragmen

Ukuran layar yang lebih besar yang ditemukan pada sebagian besar tablet menambahkan lapisan kompleksitas ekstra untuk pengembangan Android—tata letak yang dirancang untuk layar kecil tidak selalu berfungsi juga untuk layar yang lebih besar, dan sebaliknya. Untuk mengurangi jumlah komplikasi yang diperkenalkan ini, Android 3.0 menambahkan dua fitur baru, Fragmen dan Paket Dukungan.

Fragmen dapat dianggap sebagai modul antarmuka pengguna. Mereka membiarkan pengembang membagi antarmuka pengguna menjadi bagian yang terisolasi dan dapat digunakan kembali yang dapat dijalankan dalam Aktivitas terpisah. Pada waktu proses, Aktivitas itu sendiri akan memutuskan Fragmen mana yang akan digunakan.

Paket Dukungan awalnya disebut Pustaka Kompatibilitas dan memungkinkan Fragmen digunakan pada perangkat yang menjalankan versi Android sebelum Android 3.0 (API Level 11).

Misalnya, gambar di bawah ini menggambarkan bagaimana satu aplikasi menggunakan Fragmen di berbagai faktor bentuk perangkat.

Diagram of how fragments are used in Tablets and Handsets

Fragmen A berisi daftar, sementara Fragmen B berisi detail untuk item yang dipilih dalam daftar tersebut. Ketika aplikasi dijalankan pada tablet, aplikasi dapat menampilkan kedua Fragmen pada Aktivitas yang sama. Ketika aplikasi yang sama dijalankan pada handset (dengan ukuran layar yang lebih kecil), Fragmen dihosting dalam dua Aktivitas terpisah. Fragmen A dan Fragmen B sama pada kedua faktor bentuk, tetapi Aktivitas yang menghostingnya berbeda.

Untuk membantu Aktivitas mengoordinasikan dan mengelola semua Fragmen ini, Android memperkenalkan kelas baru yang disebut FragmentManager. Setiap Aktivitas memiliki instans sendiri untuk menambahkan, menghapus, dan menemukan Fragmen yang FragmentManager dihosting. Diagram berikut mengilustrasikan hubungan antara Fragmen dan Aktivitas:

Diagram illustrating relationships between Activity, Fragment Manager, and Fragments

Dalam beberapa hal, Fragmen dapat dianggap sebagai kontrol komposit atau sebagai Aktivitas mini. Mereka menggabungkan potongan UI ke dalam modul yang dapat digunakan kembali yang kemudian dapat digunakan secara independen oleh pengembang dalam Aktivitas. Fragmen memang memiliki hierarki tampilan—sama seperti Aktivitas—tetapi, tidak seperti Aktivitas, fragmen dapat dibagikan di seluruh layar. Tampilan berbeda dari Fragmen dalam Fragmen tersebut memiliki siklus hidupnya sendiri; tampilan tidak.

Meskipun Aktivitas adalah host untuk satu atau beberapa Fragmen, itu tidak secara langsung menyadari Fragmen itu sendiri. Demikian juga, Fragmen tidak secara langsung menyadari Fragmen lain dalam Aktivitas hosting. Namun, Fragmen dan Aktivitas mengetahui FragmentManager dalam Aktivitas mereka. Dengan menggunakan FragmentManager, dimungkinkan bagi Aktivitas atau Fragmen untuk mendapatkan referensi ke instans tertentu dari Fragmen, lalu memanggil metode pada instans tersebut. Dengan cara ini, Aktivitas atau Fragmen dapat berkomunikasi dan berinteraksi dengan Fragmen lain.

Panduan ini berisi cakupan komprehensif tentang cara menggunakan Fragmen, termasuk:

  • Membuat Fragmen – Cara membuat Fragmen dasar dan metode kunci yang harus diimplementasikan.
  • Manajemen fragmen dan Transaksi – Cara memanipulasi Fragmen pada waktu proses.
  • Paket Dukungan Android – Cara menggunakan pustaka yang memungkinkan Fragmen digunakan pada versi Android yang lebih lama.

Persyaratan

Fragmen tersedia di Android SDK yang dimulai dengan API level 11 (Android 3.0), seperti yang ditunjukkan pada cuplikan layar berikut:

Selecting the API level in the Android SDK Manager

Fragmen tersedia di Xamarin.Android 4.0 dan yang lebih tinggi. Aplikasi Xamarin.Android harus menargetkan setidaknya API level 11 (Android 3.0) atau yang lebih tinggi untuk menggunakan Fragmen. Kerangka Kerja Target dapat diatur dalam properti proyek seperti yang ditunjukkan di bawah ini:

Setting the Target Framework API level in the Project Options

Dimungkinkan untuk menggunakan Fragmen di versi Android yang lebih lama dengan menggunakan Paket Dukungan Android dan Xamarin.Android 4.2 atau yang lebih tinggi. Cara melakukan ini dibahas secara lebih rinci dalam dokumen bagian ini.