Week ke – 4
Material Design
Mobile Programming
LEARNING OUTCOMES
OUTLINE MATERI :
1. Material design
2. RecyclerView
Mobile Programming
ISI MATERI
Material Design
Desain Material adalah filosofi desain visual yang dibuat Google tahun 2014.
Tujuan Desain Material adalah pengalaman pengguna terpadu lintas platform dan
ukuran perangkat. Desain Material menyertakan serangkaian panduan untuk gaya,
layout, gerakan, dan aspek desain aplikasi lainnya. Panduan lengkap tersedia di
https://material.io/design.
Metafora "material"
Dalam Desain Material, elemen dalam aplikasi Android Kita berperilaku seperti
material sungguhan: mentransmisikan bayangan, menempati ruang, dan saling
berinteraksi.
Desain Material melibatkan pilihan warna yang disengaja, citra detail, tipografi
skala besar, dan ruang putih intensional yang menghasilkan antarmuka yang
menyolok dan grafik.
Beri penekanan pada tindakan pengguna dalam aplikasi Kita, sehingga pengguna
langsung tahu apa yang harus dilakukan, dan cara melakukannya. Misalnya, sorot
hal-hal yang bisa berinteraksi dengan pengguna, seperti tombol, bidang EditText,
dan switch.
Mobile Programming
Gerakan bermakna
Buat animasi dan gerakan lain dalam aplikasi Kita menjadi bermakna, sehingga
gerakan tidak terjadi secara acak. Gunakan gerakan untuk memperkuat ide bahwa
pengguna adalah penggerak utama aplikasi. Misalnya, desain aplikasi Kita
sehingga sebagian besar gerakan diinisiasi oleh tindakan pengguna, bukan oleh
kejadian di luar kontrol pengguna. Kita juga bisa menggunakan gerakan untuk
memfokuskan perhatian pengguna, memberi masukan yang halus bagi pengguna,
atau menyoroti elemen aplikasi Kita.
Berikut adalah beberapa fondasi dari material desain yang berguna untuk diketahui:
Layout
Berisi tentang informasi layout ketika kita mendesain untuk platform ini, material
design sendiri menggunakan sistem yang responsif, sehingga di sarankan untuk
menggunakan sistem grid dalam mendesain sebuah produk, tujuan nya ketika kita
mendesain untuk smartphone, desain kita akan otomatis berubah ketika di gunakan
di paltform yang berbeda ukuran layar nya , contohnya tablet.
Navigasi
Navigasi yang dimaksud adalah interaksi perpindahan dari satu page ke page yang
lain, ada beberapa navigasi di material design
Mobile Programming
• Lateral navigation
Navigasi ini mengacu pada perpindahan antar layar atau page pada tingkat
hierarki yang sama, komponen navigasi ini harus menyediakan akses ke
semua layar di tingkat navigasi yang sama ini, biasanya navigasi ini banyak
di gunakan di halamann depan atau home page pada sebuah aplikasi.
• Forward navigation
Navigasi ini mengacu pada perpindahan antar layar pada level hierarki yang
lebih dalam. kebanyakan navigasi ini dapak di akses oleh sebuah button
atau element design yang lain.
• Reverse navigation
Navigasi ini adalah kebalikan dari Forward navigation diatas, navigasi ini
mengacu pada perpindahan layar untuk balik dari layar sebelumnya, dan ini
adalah hal wajib untuk memberi akses ke pengguna untuk bisa balik ke
layar sebelumnya.
Navigasi Drawer
Navigasi drawer adalah navigasi utama yang paling sering digunakan di material
design, navigasi ini juga banyak disebut sebagai “hamburger menu” karena
biasanya navigasi ini di trigger oleh icon yang menyerupai nama makanan tersebut
(biasanya icon 3 baris menumpuk secara horizontal).
Untuk menggunakan navigasi ini harus memerhatikan beberapa hal, yang pertama
adalah harus jelas dan bisa di akses dengan mudah, apalagi jika drawer digunakan
untuk navigasi utama. yang kedua adalah harus teroganisir, jika menu yang ingin
diakses di drawer menu banyak, maka bisa di kelompokan sesuai konteks sehingga
bisa mempermudah user untuk menggunakan nya.
Mobile Programming
Bottom Navigasi
Selain beberapa hal diatas, ada pula terkait Layout, Color, typography, sound,
shape, motion, interaction, communication dan lainnya.
RecyclerView
Saat Kita menampilkan banyak item dalam daftar yang bisa digulir, sebagian
besar item tidak terlihat. Misalnya, dalam daftar kata yang panjang atau banyak
judul berita, pengguna hanya melihat sedikit item daftar untuk setiap kalinya.
Atau, Kita bisa memiliki kumpulan data yang akan berubah saat pengguna
berinteraksi dengannya. Jika Kita membuat tampilan baru setiap kali data
berubah, itu juga membuat banyak tampilan, bahkan untuk kumpulan data yang
kecil.
Dari perspektif kinerja, Kita bisa meminimalkan jumlah tampilan yang disimpan
pada titik tertentu (Memori), dan jumlah tampilan yang harus Kita buat (Waktu).
Kedua tujuan ini bisa dicapai dengan membuat agak lebih banyak tampilan
daripada yang bisa dilihat pengguna pada layar, dan buat cache serta gunakan
kembali tampilan yang dibuat sebelumnya dengan data berbeda saat pengguna
menggulir ke dalam dan ke luar tampilan.
Kelas RecyclerView adalah versi ListView yang lebih canggih dan fleksibel.
Widget ini adalah kontainer untuk menampilkan rangkaian data besar yang bisa
Mobile Programming
digulir secara sangat efisien dengan mempertahankan tampilan dalam jumlah
terbatas.
widget RecyclerView tepat digunakan bila Kita perlu menampilkan banyak data
yang bisa digulir, atau kumpulan data dengan elemen yang berubah pada waktu
proses berdasarkan aksi pengguna atau kejadian jaringan.
Mobile Programming
RecyclerView adalah:
• Data. Tidak penting dari mana asal data. Kita bisa mendapatkan data baik
dari data yang ada di perangkat maupun data yang tersimpan di cloud.
• Layout untuk satu item data. Semua item daftar tampak sama, sehingga
Kita bisa menggunakan layout yang sama untuk semuanya. Layout item
harus dibuat secara terpisah dari layout aktivitas, sehingga satu per satu
tampilan item bisa dibuat dan diisi data.
Mobile Programming
• Pengelola layout Pengelola layout menangani penyusunan (layout)
komponen antarmuka pengguna dalam suatu tampilan. Semua grup
tampilan memiliki pengelola layout. Untuk LinearLayout, sistem Android
menangani layout untuk Kita. RecyclerView memerlukan pengelola layout
eksplisit untuk mengelola susunan item daftar yang terdapat di dalamnya.
Layout ini bisa vertikal, horizontal, atau berupa petak.
Mobile Programming
Diagram di bawah ini menampilkan hubungan antara komponen-komponen ini.
Mobile Programming
DAFTAR PUSTAKA
Mobile Programming