Klompok 2 Dedi wahyudi ( 15.11.0060 ) Muhammad ichan ( 15.11.0061 ) Anggi pradana ( 15.11.0064 ) Taufik hidayat ( 15.11.0069 ) Novianto ( 15.11.0074 )
Fragment Fragment Merupakan Bagian Dari UI Dalam Activity. Kita Dapat Menggabungkan Beberapa Fragment Dalam Activity Untuk Membuat Multi-pane UI.Ada Beberapa Hal Yang Kamu Perlu Tahu Tentang Fragment Yaitu, Fragment Memiliki Siklus Hidup(lifecycle) Sendiri, Dapat Proses Event Sendiri, Dan Dapat Ditambah Atau Dihapus Ketika Activity Sedang Jalan. Anda Bisa Mengombinasikan Beberapa Fragmen Dalam Satu Aktivitas Untuk Membangun UI Multipanel Dan Menggunakan Kembali Sebuah Fragmen Dalam Beberapa Aktivitas.
Cara membuat fragment Dalam ACTIVITY
Pada Bagian Activity_main Pada Bagian Activity_main.xml , Karena Kita Menggunakan Fragment , Kita Menggunakan Framelayout , Untuk Menumpukan Atau Overlaping View. Disini Kita Pindahkan Ke Dalam Activity_main,xml. Sebagai Placeholder, Nilai Atribut Id Bernama Frame_content. Android:id="@+id/Frame_content“
Pada Bagian Mainactivity.Java Package Com.Okedroid.Contohfragment; Import Android.Os.Bundle; Import Android.Support.V4.App.Fragmentmanager; Import Android.Support.V4.App.Fragmenttransaction; Import Android.Support.V7.App.Appcompatactivity; Public Class Mainactivity Extends Appcompatactivity { @Override Protected Void Oncreate(bundle Savedinstancestate) { Super.Oncreate(savedinstancestate); Setcontentview(r.Layout.Activity_main); Fragmentmanager Fragmentmanager = Getsupportfragmentmanager(); Fragmenttransaction Transaction = Fragmentmanager.Begintransaction(); Fragmentpertama Fragmentpertama = New Fragmentpertama(); Transaction.Add(r.Id.Frame_content, Fragmentpertama); Transaction.Addtobackstack("fragmentpertama"); Transaction.Commit(); } }
Pada Bagian Pertama Fragment , Di Layout.Xml <?Xml Version="1.0" Encoding="utf-8"?> <Relativelayout Xmlns:android="http://Schemas.Android.Com/Apk/Res/Android" Android:layout_width="match_parent" Android:layout_height="match_parent" Android:background="#43a047" > <Button Android:text="masuk Ke Fragmentkedua" Android:layout_width="wrap_content" Android:layout_height="wrap_content" Android:layout_centervertical="true" Android:layout_centerhorizontal="true" Android:id="@+id/Button1" Android:textallcaps="false"/> <Textview Android:text="belajar Di Okedroid.Com" Android:layout_width="wrap_content" Android:layout_height="wrap_content" Android:layout_marginbottom="78dp" Android:id="@+id/Textview" Android:textsize="24sp" Android:layout_alignparentbottom="true“ Android:layout_centerhorizontal="true“ /> </Relativelayout>
Fragmentpertama.Java Package Com.Okedroid.Contohfragment; Public View Oncreateview(layoutinflater Inflater, Viewgroup Container, Bundle Savedinstancestate) { View View = Inflater.Inflate(r.Layout.Fragment_pertama, Container, False); ((Mainactivity) Getactivity()).Getsupportactionbar().Settitle("fragment Pertama"); ((Mainactivity) Getactivity()).Getsupportactionbar().Setsubtitle("(fragment_pertama.Xml)"); ((Mainactivity)getactivity()).Getsupportactionbar().Setdisplayhomeasupenabled(false); Buttonsatu = (Button) View.Findviewbyid(r.Id.Utton1); Return View; } @Override Public Void Onclick(view View) { Fragmentkedua Fragmentkedua = New Fragmentkedua(); Getfragmentmanager().Begintransaction() .Replace(r.Id.Frame_content, Fragmentkedua) .Addtobackstack(null) .Settransition(fragmenttransaction.Transit_fragment_open) .Commit(); } }); } } Package Com.Okedroid.Contohfragment; Import Android.Os.Bundle; Import Android.Support.V4.App.Fragment; Import Android.Support.V4.App.Fragmenttransaction; Import Android.View.Layoutinflater; Import Android.View.View; Import Android.View.Viewgroup; Import Android.Widget.Button; Class Fragmentpertama Extends Fragment { Private Button Buttonsatu; Public Fragmentpertama() { } @Override
UI FLEXIBLE dengan FRAGMENT Saat Mendesain Aplikasi Untuk Mendukung Berbagai Ukuran Layar, Anda Bisa Menggunakan Kembali Fragmen Dalam Konfigurasi Layout Berbeda Untuk Mengoptimalkan Pengalaman Pengguna Berdasarkan Ruang Layar Yang Tersedia.
Pada Layar Besar, Kedua Fragmen Muat Dari Sisi Ke Sisi, Tetapi Pada Perangkat Handset, Hanya Satu Fragmen Muat Dalam Satu Waktu, Jadi Fragmen Harus Menggantikan Satu Sama Lain Seiring Pengguna Bernavigasi. Kelas Fragmentmanager Menyediakan Metode Yang Mengizinkan Anda Untuk Menambahkan, Membuang, Dan Mengganti Fragmen Ke Sebuah Aktivitas Pada Waktu Proses Untuk Menciptakan Pengalaman Dinamis.
COMMUNICATING WITH OTHER FRAGMENTS Agar Fragmen Dapat Berkomunikasi Sesuai Dengan Aktivitasnya, Anda Dapat Menentukan Sebuah Antarmuka Di Kelas Fragment Dan Menerapkannya Di Dalam Activity. Fragmen Menangkap Implementasi Antarmuka Selama Metode Siklus Hidup Onattach () Dan Kemudian Dapat Memanggil Metode Antarmuka Untuk Berkomunikasi Dengan Aktivitas.
Contoh komunikasi fragment to activity Public Class Headlinesfragment Extends Listfragment { Onheadlineselectedlistener Mcallback; // Container Activity Harus Mengimplementasikan Interface Ini Public Interface Onheadlineselectedlistener { Public Void Onarticleselected(int Position); } @Override Public Void Onattach(activity Activity) { Super.Onattach(activity); // Ini Memastikan Bahwa Aktivitas Penampung Telah Dioperasikan // Interface Callback. Jika Tidak, Ini Membuang Pengecualian Try { Mcallback = (Onheadlineselectedlistener) Activity; } Catch (Classcastexception E) { Throw New Classcastexception(activity.Tostring() + " Must Implement Onheadlineselectedlistener"); } } }
Sekarang Fragmen Tersebut Dapat Mengirimkan Pesan Ke Aktivitas Dengan Memanggil Metodearticleselected () (Atau Metode Lain Di Antarmuka) Dengan Menggunakan Instance Mcallback Dari Antarmuka Onheadlineselectedlistener.
S e k I a n . . . . . . . T e r I m a k a s I h