Penerapan Tema Material - Membuat Aplikasi Woof

 Moch. Avin (5025221061)

Pemrograman Perangkat Bergerak - PPB G
Link Repo Github:  https://github.com/mochavin/ppb-aplikasi-woof

Tampilan Utama & Komponen UI

Aplikasi ini menggunakan Scaffold sebagai kerangka utama, dengan CenterAlignedTopAppBar yang menampilkan logo aplikasi (ic_woof_logo.xml) dan nama aplikasi "Woof".

Daftar anjing ditampilkan secara efisien menggunakan LazyColumn. Setiap item dalam daftar merupakan sebuah Card yang berisi:

  • Foto Anjing: Sebuah Image yang menampilkan foto anjing, di-clip dengan bentuk MaterialTheme.shapes.small (RoundedCornerShape 50.dp).

  • Informasi Anjing :

    • Nama anjing (Text dengan gaya MaterialTheme.typography.displayMedium).

    • Usia anjing 

    • Hobi anjing (Text dengan gaya MaterialTheme.typography.bodySmall).

    • Semua informasi ini disusun menggunakan Row dan Column dengan padding yang sesuai dari dimens.xml.

Data Anjing

Informasi mengenai setiap anjing disimpan dalam data class Dog yang berada di data/Dog.kt. Struktur datanya meliputi:

  • imageResourceId: ID drawable untuk foto anjing.

  • name: ID string untuk nama anjing.

  • age: Usia anjing (Integer).

  • hobbies: ID string untuk hobi anjing.

Semua data anjing ini disediakan dalam sebuah list bernama dogs di file yang sama.

Theming

kustomisasi pada tema:

  • Warna di Color.kt

  • Bentuk Menggunakan Shapes kustom, contohnya small = RoundedCornerShape(50.dp) dan medium = RoundedCornerShape(bottomStart = 16.dp, topEnd = 16.dp).

  • Tipografi: font kustom di res/font/:

    • AbrilFatface (untuk displayLarge).

    • Montserrat (Regular & Bold untuk displayMediumlabelSmallbodyLarge).

  • Tema: mengaplikasikan semua kustomisasi warna, bentuk, dan tipografi. Selain itu,

    • Dukungan tema gelap sistem (isSystemInDarkTheme()).

Assets

  • Fontabril_fatface_regular.ttfmontserrat_bold.ttfmontserrat_regular.ttf di res/font/.

  • Drawable: Selain gambar-gambar anjing, terdapat ic_woof_logo.xml .

  • Strings: Semua teks aplikasi, termasuk nama dan deskripsi anjing, didefinisikan di res/values/strings.xml.

Demo Video



Comments

Popular posts from this blog

Pengumpulan EAS Pemrograman Perangkat Bergerak G

Tugas 5 - Membuat Aplikasi Kalkulator Sederhana

Tugas 6 - Membuat aplikasi currency converter sederhana