Cara menggunakan fragmen di aplikasi Android Anda untuk UI yang kuat dan dinamis

Pengarang: John Stephens
Tanggal Pembuatan: 28 Januari 2021
Tanggal Pembaruan: 19 Boleh 2024
Anonim
Video Android Studio Membuat Data Pribadi
Video: Video Android Studio Membuat Data Pribadi

Isi


Catatan: Artikel ini menganggap Anda terbiasa dengan dasar-dasar pengembangan Android dan Java. Anda seharusnya sudah bisa membuat tata letak dasar dan menggunakan tampilan, onClick dan findViewByID. Jika Anda memahami konsep-konsep itu, Anda siap belajar menggunakan fragmen!

Fragmen adalah fitur kuat dari UI Android yang baik yang memungkinkan Anda untuk mendekati desain aplikasi secara modular. Ini adalah tampilan berbeda yang dapat berisi seluruh tata letak dan yang datang dengan kode Java mereka sendiri. Dengan memecah UI Anda dengan cara ini, Anda dapat membuat lebih banyak tata letak logis yang lebih mudah dipahami oleh pengguna Anda. Anda dapat memberi mereka informasi dan kontrol tambahan tanpa harus meninggalkan aktivitas.

Lihat juga: Fragmen bebas kerumitan: Menggunakan Komponen Arsitektur Navigasi Android

Fragmen memberi Anda lebih banyak opsi dalam desain aplikasi dan secara substansial dapat meningkatkan pengalaman pengguna


Terlebih lagi, adalah bahwa fragmen bertindak seperti kelas dan objek di mana Anda dapat memiliki beberapa contoh dari fragmen yang sama. Itu berarti Anda dapat menggunakan kembali tata letak yang sama berulang-ulang tanpa harus menulis ulang kode, atau bahkan menampilkan dua versi yang berbeda secara berdampingan.

Singkatnya, saat ini belum lain hal yang harus dipelajari ketika harus melakukan to-do yang tampaknya tak ada habisnya yang terlibat dengan aplikasi Android, itu adalah sesuatu yang dapat memberi Anda lebih banyak pilihan dalam desain aplikasi Anda dan secara substansial meningkatkan pengalaman pengguna - menjadikannya lebih berharga daripada waktu yang dihabiskan untuk membiasakan .

Cara membangun fragmen Android pertama Anda

Jadi, apa yang bisa kita lakukan dengan fragmen yang tidak masuk akal dengan cara lain?

Mungkin kami memiliki daftar file - mungkin ini adalah galeri gambar - dan kami ingin menunjukkan deskripsi dan memberikan opsi kepada pengguna untuk dihapus atau dibagikan. Hal semacam itu. Kami dapat mengirimnya ke halaman 'Deskripsi' baru setiap kali dengan menggunakan aktivitas terpisah, tetapi jika Anda menggunakan fragmen kami dapat menyimpannya di satu halaman yang tidak akan terlalu menggetarkan.


Buka Android Studio dan buat daftar gambar acak di activity_main.xml. Saya menggunakan gambar Super Bola naga karena saya seorang kutu buku dan itulah yang saya miliki di PC saya ...

Sekarang kita akan membuat fragmen pertama kita.

Untuk melakukan ini, Anda akan pergi ke File> Baru> Fragmen. MainActivity.java perlu dipilih di sebelah kiri saat Anda melakukan ini, dan Anda akan memilih fragmen 'kosong' untuk saat ini. Anda kemudian dapat memilih nama untuk Anda ciptaan baru, yang kami sebut 'Deskripsi'. Hapus centang dua kotak di bawahnya - kami tidak membutuhkannya sekarang.

Setelah ini selesai, Anda akan menemukan Anda sekarang tidak hanya memiliki file java baru bernama Description.java, tetapi juga file tata letak baru yang disebut fragment_description.xml - seolah-olah Anda telah membuat kelas baru! Ini berarti Anda akan menempatkan kode yang sesuai dengan fragmen baru Anda di file java terpisah.

Menambahkan tata letak, tampilan, dan kode

Berita baiknya adalah sangat mudah bagi kita untuk menambahkan tampilan dan tata letak saat kita menggunakan fragmen. Kami akan melakukan ini seperti biasa dengan mengedit fragment_timer.xml.

Mari kita gunakan tata letak linier lagi dan kali ini tambahkan beberapa kontrol dan teks deskriptif. Anda dapat menempelkan apa pun di sini untuk saat ini.

Jadi sekarang pertanyaan selanjutnya adalah: bagaimana Anda membuat ini benar-benar muncul di aplikasi Anda?

Anda dapat melakukan ini dengan menambahkan fragmen ke aktivitas, sama seperti Anda akan melakukan tampilan lain. Jadi, pergilah ke activity_main.xml dan tambahkan tampilan sehingga mengambil sebagian layar - mungkin di bagian bawah.

Jika Anda ingin melakukannya dengan cara yang saya lakukan, saya menggunakan tata letak linier vertikal dan memberi semua gambar berat 1 dan fragmen berat 2.

Anda akan melihat bahwa pratinjau tidak menunjukkan kepada Anda fragmen yang sebenarnya, hanya tempat penampung. Demikian juga, perhatikan bahwa saya harus memasukkan nama fragmen dalam XML, sehingga Android tahu di mana menemukannya. Anda juga membutuhkan ID untuk setiap fragmen.

Kode

Seperti yang telah dibahas, kode yang kita perlukan untuk menggunakan fragmen akan masuk dalam file java-nya sendiri. Dalam hal ini, itulah file Description.java.

Jika Anda memeriksa halaman ini, Anda akan melihat bahwa ada konstruktor (sama seperti di kelas mana pun yang membuat objek) dan metode yang disebut onCreateView. Metode itu adalah tempat xml digunakan untuk mengembang tampilan itu dan itu juga setara dengan yang biasa Anda onCreate metode dalam kegiatan standar.

Sebagian besar, Anda dapat melakukan hal-hal seperti biasa di sini. findViewByID berfungsi dan Anda dapat menggunakan ini untuk mengubah teks dll. tetapi Anda perlu mendapatkan referensi sedikit berbeda. Ubah baris yang bertuliskan:

return inflater.inflate (R.layout.fragment_description, wadah, salah);

Untuk:

Lihat v = inflater.inflate (R.layout.fragment_description, wadah, salah);

Dan kemudian gunakan:

v.findViewByID.

Sekarang Anda dapat mengakses tampilan seperti biasa:

Tampilan publik onCreateView (Inflater LayoutInflater, wadah ViewGroup, Bundle SavedInstanceState) {Lihat v = inflater.inflate (R.layout.fragment_description, wadah, salah); Tombol okButton = v.findViewById (R.id.baik) ;; Tombol shareButton = v.findViewById (R.id.Bagikan); okButton.setOnClickListener (View baru.OnClickListener () {public void onClick (View v) {Toast.makeText(getActivity (), "OK!", Bersulang.LENGTH_LONG ).menunjukkan(); }}); shareButton.setOnClickListener (View baru.OnClickListener () {public void onClick (View v) {Toast.makeText(getActivity (), "Berbagi ...", Bersulang.LENGTH_LONG ).menunjukkan(); }}); return v; }}

Gunakan fragmen dengan instance multiples

Anda dapat melihat betapa lebih mudah untuk membuat UI dan kode yang ramping saat kami menggunakan fragmen. Alih-alih menggunakan tata letak-dalam-tata letak dan kemudian menyulap banyak klik semua dalam satu file Java. Terlebih lagi adalah bahwa pendekatan 'modular' ini akan memungkinkan Anda untuk menggunakan tampilan ini di seluruh aktivitas dan bahkan dalam menu dan lokasi dinamis lainnya.

Tetapi bagian yang sangat keren adalah kenyataan bahwa Anda dapat memiliki banyak contoh fragmen yang sama yang semuanya ada pada saat bersamaan.

Untuk melakukan ini sederhana: Anda cukup menambahkan lebih dari satu tampilan dan mengembang dengan kode yang sama persis.

Sekarang mudah-mudahan Anda dapat mulai melihat beberapa kekuatan menggunakan fragmen: bayangkan memiliki Recycler View (daftar gulir) gambar, masing-masing dengan detail dan kontrol tepat di bawahnya. Tidak perlu membuat tata letak yang sama sekali baru setiap kali dan Anda dapat menyembunyikan tampilan sampai pengguna mengklik gambar!

Terlebih lagi, Anda juga dapat membuat fragmen baru secara terprogram. Yang Anda butuhkan adalah suatu tempat untuk fragmen masuk dalam tata letak Anda - seperti tata letak bingkai (yang akan saya panggil fragmentTarget) dan kemudian Anda dapat melakukan hal berikut:

Fragmen addedFragment = Deskripsi baru (); Transaksi FragmentTransaction = getSupportFragmentManager (). BeginTransaction (); transaction.replace (R.id.fragmentTarget, tambahFragmen); transaction.addToBackStack (null); transaction.commit ();

Pastikan untuk mengimpor kelas yang diperlukan - Anda akan diminta setiap kali Anda mencoba menggunakan fragmen dalam kode Anda. Pastikan untuk memilih opsi teratas yang bertuliskan 'v4'.

Mampu menambahkan fragmen secara pemrograman penting karena itu artinya kita dapat menghasilkan daftar gambar yang dinamis (yang telah kita unduh, yang terletak di folder tertentu, dll.) Dan kemudian segera membuka detailnya untuk kita.

Jadi, dalam contoh baru ini, fragmen kedua telah ditambahkan secara pemrograman.

Akhirnya, Anda mungkin ingin mengubah tampilan fragmen Anda tergantung di mana mereka berada. Berita baiknya adalah Anda bisa melakukan ini dengan mudah dengan mengirimkan ID sebagai bundel ketika Anda membuat fragmen dan kemudian mengekstraksi nilai itu di ujung lainnya.

Dalam penggunaan MainActivity.java:

Bundel bundel = Bundel baru (); bundle.putInt ("ID", 1); addedFragment.setArguments (bundle);

Dan kemudian di Description.java tambahkan:

int eyeD = 0; Bundel bundel = this.getArguments (); if (bundle! = null) {eyeD = bundle.getInt ("ID", 0); } switch (eyeD) {case 1: ...

Anda kemudian dapat - misalnya - membuat aplikasi Anda menampilkan catatan yang berbeda untuk setiap gambar.

Komentar penutup

Jadi begitulah cara Anda menggunakan fragmen. Semoga Anda memahami dasar-dasarnya dan posting ini telah memberi Anda cukup pemahaman bahwa Anda dapat melanjutkan dan mencari tahu sisanya. Lebih penting lagi, saya berharap ini menunjukkan kepada Anda beberapa kemungkinan penggunaan fragmen dan potensi yang mereka tawarkan untuk desain aplikasi yang lebih cerdas.

Jika Anda ingin melihat contoh fragmen lain yang sedang beraksi, pastikan untuk memeriksa posting saya yang terbaru tentang cara membuat peluncur khusus!

Pengembangan Android:

  • Cara membuat aplikasi VR untuk Android hanya dalam 7 menit
  • Buat Aksi Anda sendiri untuk Google Assistant
  • Root Android: Semua yang perlu Anda ketahui!
  • Anatomi suatu aplikasi: Pengantar siklus hidup aktivitas
  • Android Jetpack: Apa arti pengumuman terbaru untuk Perpustakaan Dukungan Android?

Tampaknya ada kecenderungan untuk memberekan ekarang. Dalam hit Netflix dari nama itu, Marie Kondo menegakan bahwa, dengan menjaga ruang hidup yang beba dari kekacauan, Anda dapat meningkatkan produkt...

Fotografer berpendapat bahwa kamera terbaik adalah yang Anda miliki dengan Anda, dan dalam kebanyakan kau itu akan menjadi ponel cerda Anda yang prakti. Mekipun handet tidak elalu menghailkan pengalam...

Populer