Hai, pernah denger tentang fragment? Kali ini dicoding tips akan membahas sekilas tentang fragment. Bagi kalian yang baru mengenal fragment, simpelnya Fragment itu bagian dari Activity yang memiliki siklus hidupnya sendiri, meskipun begitu Fragment berjalan di atas suatu Activity. Jika Activity-nya di destroy maka fragment juga ikut menghilang. Nah mungkin itu sekilas penjelasan tentang Fragment, lebih jelasnya langsung kita coba membuat Fragment sederhana.
Okay, pastikan Android Studio kalian dalam kondisi prima (a.k.a terupdate dengan baik). Kita langsung saja buat projek baru. Kalau disini kebetulan nama projectnya “Fragment“. Selanjutnya kita buat Fragment baru di dalamnya dengan nama “TampilanFragment“. Sebelum menekan tombol finish, uncheck “Include fragment factory methods?“ dan “include interface callbacks“.
Sekarang saatnya kita buat tampilan aplikasinya. Pertama tampilan pada Layout “MainActivity”.
💻 Mulai Belajar Pemrograman
Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.
Daftar Sekarang
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context="app.learn.dhahedda.fragment.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="18sp" android:text="Hello World, This is Main Activity Layout !" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="12sp" android:paddingBottom="15dp" android:text="If you want to go to the fragment layout, Click the Red Button below ! " /> <Button android:text="Fragment" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btn_fragment" android:background="@android:color/holo_red_dark" android:textColor="@android:color/background_light"/> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:paddingTop="40dp" android:id="@+id/frame_layout"> </FrameLayout> </LinearLayout> |
Perhatikan di situ ada FrameLayout, fungsinya u/ mewadahi tampilan dari Fragment yang kita buat.
Langsung yuk kita buat tampilan sederhana di Layout nya Fragment.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="app.learn.dhahedda.fragment.TampilanFragment" android:orientation="vertical"> <TextView android:text="Hai Again ! This is a fragment layout." android:layout_width="match_parent" android:layout_height="wrap_content" android:textStyle="bold" android:textAlignment="center" android:paddingBottom="10dp" android:id="@+id/textView" /> <Button android:text="Show Me" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btn_show" /> </LinearLayout> |
Sudah? Sekarang kita tambahkan sedikit Action pada Button di kelas “TampilanFragment” seperti di bawah ini :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
public class TampilanFragment extends Fragment { Button btn_show; public TampilanFragment() { // Required empty public constructor } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_tampilan, container, false); btn_show = (Button) view.findViewById(R.id.btn_show); btn_show.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(getContext(), "This is from Fragment!", Toast.LENGTH_LONG).show(); } }); return view; } } |
Setelah itu giliran kelas “MainActivity” yang kita modifikasi :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
public class MainActivity extends AppCompatActivity { Button btn_fragment; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_fragment = (Button) findViewById(R.id.btn_fragment); btn_fragment.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { getSupportFragmentManager().beginTransaction().add(R.id.frame_layout, new TampilanFragment()).commit(); } }); } } |
Perhatikan baik-baik pada code yang di blok warna biru. Di situ kita memanggil Fragment “TampilanFragment“ untuk menempati FrameLayout dengan id frame_layout yang telah kita buat sebelumnya di tampilan Main Activity.
Nah sekarang coba deh run aplikasinya.
Selamat ya, kalian sudah belajar bagaimana menampilkan fragment. Nah ingin belajar lebih lagi soal Fragment dan lainnya? Langsung cek Dicoding Academy Belajar Membangun Aplikasi Android Native (www.dicoding.com/academies/26), materi nya oke punya, dibuat oleh Google Developer Expert Indonesia.
Semoga bermafaat kawan, yuk terus belajar dan nantikan tips kami selanjutnya.