Cara menggunakan serpihan dalam apl Android untuk UI yang kuat dan dinamik

Pengarang: John Stephens
Tarikh Penciptaan: 28 Januari 2021
Tarikh Kemas Kini: 19 Mungkin 2024
Anonim
Navigating your way around customizable delivery (Android Dev Summit ’19)
Video.: Navigating your way around customizable delivery (Android Dev Summit ’19)

Kandungan


Nota: Artikel ini menganggap anda sudah terbiasa dengan asas-asas pembangunan Android dan Java. Anda sepatutnya dapat membuat susun atur asas dan menggunakan pandangan, onClick dan findViewByID. Jika anda memahami konsep-konsep ini, anda sudah bersedia untuk belajar menggunakan serpihan!

Fragment adalah ciri kuat UI Android yang baik yang membolehkan anda mendekati reka bentuk aplikasinya secara modular. Ini adalah pandangan yang berbeza yang boleh mengandungi keseluruhan susun atur dan yang datang dengan kod Java yang disertakan sendiri. Dengan memecahkan UI anda dengan cara ini, anda boleh membuat lebih banyak susun atur logik yang lebih mudah untuk difahami oleh pengguna anda. Anda boleh memberi mereka maklumat dan kawalan tambahan tanpa mereka perlu meninggalkan aktiviti tersebut.

Lihat juga: Serpihan bebas masalah: Menggunakan Komponen Senibina Navigasi Android

Fragment memberi anda lebih banyak pilihan dalam reka bentuk aplikasi anda dan secara substansial boleh meningkatkan pengalaman pengguna


Terlebih lagi, adalah serpihan yang bertindak seperti kelas dan objek di mana anda boleh mempunyai pelbagai contohnya serpihan yang sama. Ini bermakna anda boleh menggunakan semula susun atur yang sama berulang kali tanpa perlu menulis semula kod, atau bahkan menunjukkan dua versi berbeza bersebelahan.

Pendek kata, sementara ini masih belum selesai lain perkara yang perlu dipelajari ketika datang ke senarai tugas yang tidak berkesudahan yang terlibat dengan aplikasi Android, ia adalah sesuatu yang boleh memberi anda lebih banyak pilihan dalam reka bentuk aplikasi anda dan meningkatkan pengalaman pengguna secara substansial - menjadikannya lebih bernilai daripada masa yang digunakan untuk membiasakan diri .

Bagaimana untuk membina serpihan Android pertama anda

Jadi, apa yang boleh kita lakukan dengan serpihan yang tidak masuk akal dengan cara lain?

Mungkin kita mempunyai senarai fail - mungkin ini adalah galeri imej - dan kami ingin menunjukkan penerangan dan memberi pengguna pilihan untuk memadam atau berkongsi. Perkara semacam itu. Kami boleh menghantarnya ke halaman 'Deskripsi' baru setiap kali dengan menggunakan aktiviti yang berasingan, tetapi jika anda menggunakan fragmen, kami dapat menyimpannya pada satu halaman yang kurang genting.


Buka Android Studio dan buat senarai imej rawak dalam activity_main.xml. Saya menggunakan gambar Dragon Ball Super kerana saya nerd dan itulah yang saya berbaring di PC saya ...

Sekarang kita akan buat serpihan pertama kita.

Untuk melakukan ini, anda akan menuju ke Fail> Baru> Fragment. MainActivity.java perlu dipilih di sebelah kiri apabila anda melakukan ini, dan anda akan memilih fragmen 'kosong' untuk sekarang. Anda kemudian akan dapat memilih nama untuk anda ciptaan baru, yang akan kami panggil 'Deskripsi'. Keluarkan dua kotak di bawah - kita tidak memerlukannya sekarang.

Sebaik sahaja ini selesai, anda akan mendapati anda sekarang bukan sahaja fail java baru yang dipanggil Description.java, tetapi juga fail susun atur baru yang dipanggil fragment_description.xml - seolah-olah anda telah mencipta kelas baru! Ini bermakna bahawa anda akan meletakkan kod yang berjalan dengan serpihan baru anda dalam fail java tersendiri.

Menambah susun atur, pandangan dan kod

Berita baiknya ialah sangat mudah bagi kita untuk menambah pandangan dan susun atur apabila kita menggunakan serpihan. Kami akan melakukan ini seperti biasa dengan mengedit fragment_timer.xml.

Mari gunakan susun atur linear sekali lagi dan kali ini menambah beberapa kawalan dan teks deskriptif. Anda boleh melekatkan apa-apa di sini untuk masa sekarang.

Jadi sekarang soalan seterusnya ialah: bagaimana anda membuat ini sebenarnya muncul dalam aplikasi anda?

Anda boleh melakukan ini dengan menambahkan fragmen kepada aktiviti itu, sama seperti anda akan melakukan sebarang pandangan lain. Jadi, tuju ke activity_main.xml dan tambahkan pandangan supaya ia mengambil sebahagian daripada skrin - mungkin di bawah.

Jika anda mahu melakukannya seperti yang saya lakukan, saya menggunakan susun atur linear tegak dan memberikan semua imej berat 1 dan serpihan berat 2.

Anda akan melihat bahawa pratonton tidak menunjukkan kepada anda pecahan sebenar, hanya pemegang tempat. Begitu juga, perhatikan bahawa saya perlu memasukkan nama serpihan dalam XML, supaya Android tahu di mana untuk mencarinya. Anda juga memerlukan ID untuk setiap serpihan.

Kod ini

Seperti yang dibincangkan, kod yang kita perlukan untuk menggunakan fragmen akan pergi ke fail java sendiri. Dalam kes ini, itulah fail Description.java.

Jika anda menyemak halaman ini, anda akan melihat bahawa terdapat pembina (sama seperti mana-mana kelas yang mencipta objek) dan kaedah yang dipanggil onCreateView. Kaedah itu adalah di mana xml digunakan untuk mengembung pandangan itu dan ia juga setara dengan biasa anda onCreate kaedah dalam aktiviti standard.

Untuk sebahagian besar, anda boleh melakukan perkara-perkara seperti biasa di sini. findViewByID berfungsi dan anda boleh menggunakannya untuk mengubah teks dan lain-lain tetapi anda perlu mendapatkan rujukan sedikit berbeza. Tukar garisan yang berbunyi:

kembali inflater.inflate (R.layout.fragmen_description, bekas, palsu);

Kepada:

Lihat v = inflater.inflate (R.layout.fragmen_description, bekas, palsu);

Kemudian gunakan:

v.findViewByID.

Sekarang anda boleh mengakses pandangan anda seperti biasa:

paparan awam onCreateView (inflator LayoutInflater, container ViewGroup, Bundle savedInstanceState) {Lihat v = inflater.inflate (R.layout.fragmen_description, bekas, palsu); Butang okButton = v.findViewById (R.id.okey) ;; Button shareButton = v.findViewById (R.id.Kongsi); okButton.setOnClickListener (new View.OnClickListener () {public void onClick (View v) {Toast.makeText(getActivity (), "OK!", Toast.LENGTH_LONG ) .show (); }}); shareButton.setOnClickListener (new View.OnClickListener () {public void onClick (View v) {Toast.makeText(getActivity (), "Sharing ...", Toast.LENGTH_LONG ) .show (); }}); kembali v; }}

Gunakan fragmen dengan contoh gandaan

Anda dapat melihat bagaimana lebih mudah untuk membuat UI dan kod yang diselaraskan apabila kami menggunakan fragmen. Daripada menggunakan susun atur-dalam-letak dan kemudian menyulap banyak klik semua dalam satu fail Java. Terlebih lagi ialah pendekatan 'modular' ini membolehkan anda menggunakan pandangan ini merentas aktiviti dan juga dalam menu dan lokasi dinamik yang lain.

Tetapi bahagian yang benar-benar keren adalah hakikat bahawa anda boleh mempunyai beberapa contoh fragmen yang sama sekali ini yang wujud pada masa yang sama.

Untuk melakukan ini adalah mudah: anda hanya menambah lebih daripada satu pandangan dan mengembung dengan kod yang sama.

Sekarang mudah-mudahan anda dapat mula melihat beberapa kuasa menggunakan fragmen: bayangkan mempunyai View Recycler (senarai bergulir) gambar, masing-masing dengan butiran dan kawalan di bawahnya. Tidak perlu membuat susun atur baru setiap kali dan anda boleh menyembunyikan pandangan sehingga pengguna mengklik pada gambar!

Apa yang lebih penting ialah anda juga boleh menjana pecahan baru secara pemrograman. Apa yang anda perlukan adalah suatu tempat untuk fragmen untuk pergi dalam susun atur anda - seperti susun atur bingkai (yang saya akan panggil fragment Target) dan kemudian anda boleh melakukan perkara berikut:

Fragment ditambahFragment = Description baru (); Transaksi FragmentTransaction = getSupportFragmentManager (). BeginTransaction (); transaction.replace (R.id.fragment Target, tambahFragment); transaction.addToBackStack (null); transaction.commit ();

Pastikan untuk mengimport kelas yang diperlukan - anda akan diminta apabila anda cuba menggunakan fragmen dalam kod anda. Pastikan anda memilih pilihan utama yang menyatakan 'v4'.

Mampu untuk menambah fragmen secara berkala adalah penting kerana ia bermakna kita boleh menghasilkan senarai dinamik imej (yang telah kita muat turun, yang terletak dalam folder tertentu dan lain-lain) dan kemudian mempunyai butiran yang muncul untuk kami dengan serta-merta.

Jadi, dalam contoh baru ini, serpihan kedua telah ditambah secara pemrograman.

Akhirnya, anda mungkin mendapati diri anda ingin menukar rupa serpihan anda bergantung pada tempatnya berada. Berita baiknya adalah bahawa anda boleh melakukannya dengan mudah dengan melewati ID sebagai satu ikatan apabila anda membuat fragmen dan kemudian mengekstrak nilai itu di hujung yang lain.

Dalam penggunaan MainActivity.java:

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

Dan kemudian dalam Description.java tambahkan:

int eyeD = 0; Bundle bundle = this.getArguments (); jika (bundle! = null) {eyeD = bundle.getInt ("ID", 0); } suis (eyeD) {kes 1: ...

Anda kemudiannya boleh - sebagai contoh - dapatkan apl anda untuk menunjukkan nota yang berbeza untuk setiap imej.

Tutup komen

Jadi itulah cara anda menggunakan serpihan. Mudah-mudahan anda memahami asas-asas dan jawatan ini telah memberi anda cukup pemahaman yang anda boleh meneruskan dan mengetahui yang lain. Lebih penting lagi, saya harap ia telah menunjukkan kepada anda beberapa kemungkinan penggunaan serpihan dan potensi yang mereka tawarkan untuk reka bentuk aplikasi yang lebih pintar.

Jika anda mahu melihat satu lagi contoh serpihan dalam tindakan, maka pastikan untuk menyemak siaran baru saya pada membuat pelancar adat!

Pembangunan Android:

  • Bagaimana untuk mencipta aplikasi VR untuk Android dalam masa 7 minit sahaja
  • Bina Tindakan Anda sendiri untuk Pembantu Google
  • Root Android: Semua yang anda perlu ketahui!
  • Anatomi aplikasi: Pengenalan kepada jangka hayat aktiviti
  • Android Jetpack: Apa maksud pengumuman baru-baru ini untuk Perpustakaan Sokongan Android?

Telefon dengan blater IR boleh berganda ebagai alat kawalan jauh ejagat, membolehkan anda mengawal pelbagai peranti elektronik di rumah anda - eperti TV. Malangnya, telefon dengan pembunuh IR tidak ep...

Terima kaih kepada telefon pintar, eiapa ahaja boleh dianggap ebagai amatur juru gambar pada maa kini. ama ada anda edang mencari untuk membuat kerjaya daripada itu, atau hanya untuk mencantikkan iara...

Penerbitan