Dasar-Dasar Material Design
Gunakan Material Components: MaterialButton, TextInputLayout, MaterialCardView, FloatingActionButton, Snackbar, Chip, BottomSheetDialog, dan Dynamic Color.
Dasar-Dasar Material Design adalah pelajaran Android Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 5. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Android Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Android Academy mencakup 5 pelajaran total.
Apa Itu Material Design?
Material Design adalah sistem desain Google untuk membangun aplikasi Android yang indah dan konsisten. Sistem ini menyediakan:
- Beragam komponen UI siap pakai
- Aturan spasi, tipografi, dan warna yang konsisten
- Komponen yang mudah diakses dan responsif
- Animasi dan transisi bawaan
Pustaka Material Components for Android (MDC) menghadirkan Material 3 ke Jetpack.
Menambahkan Komponen Material
Tambahkan dependensi dan atur tema aplikasi Anda ke tema Material:
// app/build.gradle:
dependencies {
implementation 'com.google.android.material:material:1.12.0'
}
// res/values/themes.xml:
<style name="Theme.MyApp" parent="Theme.Material3.DayNight.NoActionBar">
<item name="colorPrimary">@color/primary</item>
<item name="colorSecondary">@color/secondary</item>
<!-- ... -->
</style>MaterialButton
Ganti Button biasa dengan MaterialButton untuk mendapatkan sudut membulat, efek riak, dan dukungan ikon:
<!-- Filled (default) -->
<com.google.android.material.button.MaterialButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Save"
app:icon="@drawable/ic_save" />
<!-- Outlined style -->
<com.google.android.material.button.MaterialButton
style="@style/Widget.Material3.Button.OutlinedButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cancel" />
<!-- Text button -->
<com.google.android.material.button.MaterialButton
style="@style/Widget.Material3.Button.TextButton"
android:text="Learn more" />TextInputLayout & TextInputEditText
TextInputLayout membungkus EditText untuk menyediakan label mengambang, pesan error, dan penghitung karakter:
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tilEmail"
style="@style/Widget.Material3.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Email address"
app:helperText="We will never share your email">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress" />
</com.google.android.material.textfield.TextInputLayout>MaterialCardView
MaterialCardView menambahkan elevasi, sudut membulat, dan garis tepi pada sebuah wadah:
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardCornerRadius="12dp"
app:cardElevation="4dp"
app:strokeColor="@color/outline"
app:strokeWidth="1dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:orientation="vertical">
<TextView android:text="Card Title" />
<TextView android:text="Card content goes here" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>FloatingActionButton (FAB)
FAB menonjolkan tindakan utama pada layar. Material 3 menyediakan tiga ukuran:
<!-- Standard FAB -->
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
android:contentDescription="Add item"
app:srcCompat="@drawable/ic_add" />
<!-- Extended FAB (icon + text) -->
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
android:text="New Note"
app:icon="@drawable/ic_edit"
android:layout_gravity="bottom|end" />MaterialToolbar
Ganti ActionBar bawaan dengan MaterialToolbar untuk mendapatkan gaya Material 3:
<!-- In layout XML -->
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorSurface"
app:title="My App"
app:navigationIcon="@drawable/ic_menu" />
// In Activity:
setSupportActionBar(binding.toolbar)
binding.toolbar.setNavigationOnClickListener {
onBackPressedDispatcher.onBackPressed()
}Snackbar
Snackbar menampilkan pesan singkat yang dapat ditindaklanjuti di bagian bawah layar. Utamakan ini daripada Toast:
// Simple message:
Snackbar.make(binding.root, "Item deleted", Snackbar.LENGTH_SHORT).show()
// With action:
Snackbar.make(binding.root, "Item deleted", Snackbar.LENGTH_LONG)
.setAction("Undo") {
viewModel.undoDelete()
}
.setAnchorView(binding.fab) // appears above the FAB
.show()Chip & ChipGroup
Chip adalah elemen ringkas untuk filter, tag, dan pilihan:
<com.google.android.material.chip.ChipGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:singleSelection="true">
<com.google.android.material.chip.Chip
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Kotlin"
style="@style/Widget.Material3.Chip.Filter" />
<com.google.android.material.chip.Chip
android:text="Android"
style="@style/Widget.Material3.Chip.Filter" />
<com.google.android.material.chip.Chip
android:text="Jetpack"
style="@style/Widget.Material3.Chip.Filter" />
</com.google.android.material.chip.ChipGroup>BottomSheetDialog
Modal Bottom Sheet meluncur dari bagian bawah dan berisi konten atau tindakan:
class OptionsBottomSheet : BottomSheetDialogFragment() {
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
): View {
return inflater.inflate(R.layout.bottom_sheet_options, container, false)
}
}
// Show it from a Fragment:
val sheet = OptionsBottomSheet()
sheet.show(parentFragmentManager, "options")Material You — Warna Dinamis
Android 12+ mendukung Warna Dinamis — skema warna aplikasi secara otomatis menyesuaikan wallpaper pengguna:
// In Application.onCreate():
override fun onCreate() {
super.onCreate()
DynamicColors.applyToActivitiesIfAvailable(this)
}
// That's it! Colors automatically extract from wallpaper on Android 12+
// On older Android, fallback colors from your theme are used.Pemeriksaan Singkat
Komponen Material apa yang harus Anda gunakan untuk membungkus EditText agar mendapatkan label mengambang dan pesan error sebaris?
Ringkasan: Dasar-Dasar Material Design
Material Components memudahkan pembuatan aplikasi yang indah:
MaterialButton— gaya terisi, bergaris tepi, dan teksTextInputLayout+TextInputEditText— label mengambang, errorMaterialCardView— kartu dengan elevasi dan garis tepiFloatingActionButton— tombol tindakan utamaSnackbar— pesan yang dapat ditutup dengan tindakanChip— tag, filter, pilihan- Warna Dinamis — menyesuaikan wallpaper di Android 12+
Berikutnya: tema, gaya, dan mode gelap.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Dasar-Dasar Material Design” gratis?
Ya — teks lengkap “Dasar-Dasar Material Design” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Android Academy, upgrade ke CoddyKit PRO. Kursus Android Academy mencakup 5 pelajaran total.
Apa yang akan aku pelajari di “Dasar-Dasar Material Design”?
Gunakan Material Components: MaterialButton, TextInputLayout, MaterialCardView, FloatingActionButton, Snackbar, Chip, BottomSheetDialog, dan Dynamic Color. Kamu berlatih Android Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Android Academy?
Tidak diperlukan pengalaman sebelumnya. Android Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 5.
Berapa lama pelajaran “Dasar-Dasar Material Design” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Android Academy ini?
Ya. Setiap pelajaran Android Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Dasar-Dasar Material Design
- Tema & Gaya
- View Kustom
- Animasi & Transisi
- Navigasi Bawah & Tab