Fungsi Dan Menciptakan Fragment Layout Android
Fungsi dan Membuat Fragment Layout Android
Anda sanggup membagi sikap acara Anda dan antarmuka pengguna menjadi beberapa komponen sehingga komponen-komponen tertentu dalam suatu kegiatan sanggup dipakai kembali dan diganti dengan komponen gres untuk membuat fatwa acara atau untuk melaksanakan tugas. Komponen-komponen ini yang merupakan bab dari suatu kegiatan disebut Fragmen.
Anda sanggup membangun aplikasi yang terdiri dari beberapa acara dengan setiap acara yang mewakili kiprah yang terdiri dari beberapa Fragmen dengan setiap Fragmen yang mewakili sikap tertentu dalam alur tugas.
Membuat Fragment Layout
Pertama buat layout fragmen dengan elemen UI yang didefinisikan di dalamnya. Menentukan tata letak fragmen menyerupai dengan bagaimana tata letak didefinisikan untuk kegiatan.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/search"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit"/>
</LinearLayout>
Menciptakan Fragmen
Fragmen sanggup dibentuk dengan memperluas Fragmen atau salah satu subclassnya menyerupai DialogFragment, HeadersSupportFragment, ListFragment, PlaybackSupportFragment, PreferenceFragmentCompat, RowsSupportFragment, SearchSupportFragment, dll. Jika Anda ingin kompatibilitas ke belakang, Anda sanggup membuat fragmen memakai kelas Fragmen dari pustaka dukungan.
Selanjutnya Anda perlu menerapkan metode callback onCreateView. Dalam metode ini, Anda sanggup membuat instance antarmuka pengguna memakai LayoutInflater dan Fragment layout xml atau membuat antarmuka pengguna Fragment secara terprogram dan Anda sanggup menambahkan pendengar acara ke Views dan mengatur konfigurasi Views. Metode ini harus mengembalikan tampilan buat untuk antarmuka pengguna fragmen.
public class SampleFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.sample_fragment,
container, false);
return view;
}
}
Menambahkan Fragmen ke Aktivitas
Langkah penting yang perlu diikuti untuk memakai Fragmen ialah membuat acara yang memperluas FragmentActivity atau subkelasnya AppCompatActivity untuk mempunyai kerangka kerja yang dibutuhkan untuk menangani fragmen dalam acara Anda.
Anda sanggup menambahkan Fragmen ke Aktivitas dengan mendefinisikannya dalam tata letak atau dengan membuatnya secara terprogram. Untuk menambahkan fragmen ke tata letak, Anda perlu memilih elemen fragmen dan atur atribut nama ke kelas fragmen.
sion="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment android:name="com.zoftino.android.SampleFragment"
android:id="@+id/sample"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
Cara lain untuk menambahkan fragmen ke suatu kegiatan ialah dengan mendefinisikan ViewGroup dalam tata letak acara dan menambahkan Fragmen ke dalamnya secara terprogram dalam acara Anda. Untuk menambahkan fragmen ke ViewGroup, pertama-tama dapatkan FragmentManager dengan memanggil getFragmentManager () atau getSupportFragmentManager () kalau fragmen Anda memperluas kelas Fragmen dari pustaka dukungan. Kemudian dapatkan objek FragmentTransaction dan panggil add atau replace pada objek FragmentTransaction yang meneruskan id group view dan fragment instance.
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.add(new SampleFragment(), "SAMPLE_FRAG");
ft.commit();
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.sample_content, new SampleFragment());
ft.commit();
Menghapus Fragmen dari Aktivitas
Untuk menghapus fragmen, pertama-tama dapatkan objek Fragment dengan memanggil metode findFragmentByTag pada FragmentManager melewati fragmen tag yang ditentukan ketika ditambahkan, kemudian dapatkan objek FragmentTransaction dan panggil abolisi pada objek FragmentTransaction yang melewati objek fragmen.
Fragment fragment = getSupportFragmentManager().findFragmentByTag("SAMPLE_FRAG");
if(fragment != null)
getSupportFragmentManager().beginTransaction().remove(fragment).commit();
Siklus Hidup Fragmen
Serupa dengan aktivitas , Fragmen ada di tiga negara: keadaan dilanjutkan, keadaan berhenti dan keadaan berhenti. Dalam keadaan kembali, fragmen terlihat dalam acara latar depan. Suatu fragmen akan dalam keadaan berhenti ketika fragmen dan acara kontainer terlihat tetapi tidak di latar depan alasannya ialah fokusnya ialah pada acara lain yang transparan. Fragmen akan berhenti ketika fragmen tidak terlihat alasannya ialah acara wadah tidak terlihat atau fragmen telah dihapus oleh acara dan ditambahkan ke back stack. Dalam keadaan berhenti, teladan fragmen dipertahankan oleh sistem.