Animasi Dasar: animateColorAsState
Penjelasan
Family fungsi animate*AsState() (animateColorAsState, animateDpAsState, animateFloatAsState, dst) adalah cara PALING SEDERHANA membuat animasi implisit di Compose — kamu TIDAK PERLU menulis kode animasi manual, cukup berikan NILAI TARGET, dan Compose otomatis meng-animasikan transisi dari nilai lama ke nilai baru.
Contoh Konsep
@Composable
fun KotakAnimasi() {
var besar by remember { mutableStateOf(false) }
val warna by animateColorAsState(
targetValue = if (besar) Color.Blue else Color.Red,
label = "warnaKotak"
)
Box(
modifier = Modifier
.size(if (besar) 200.dp else 100.dp)
.background(warna)
.clickable { besar = !besar }
)
}
Praktikum
Buat Composable dengan state boolean tampak (awalnya true). Pakai animateFloatAsState untuk meng-animasikan alpha dari 1f ke 0.3f (dan sebaliknya) saat Box di-klik lewat Modifier.clickable.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Parameter label (mis. label = "warnaKotak") di fungsi animate*AsState() HANYA dipakai untuk keperluan DEBUGGING lewat Android Studio Layout Inspector — TIDAK berpengaruh apa pun ke perilaku/tampilan animasinya, tapi tetap disarankan diisi supaya lebih mudah dilacak saat debugging performa animasi.