Curved

Cara buat curved modifier untuk card class CurvedBottomShape(private val curveDepth: Dp) : Shape { override fun createOutline( size: Size, layoutDirection: LayoutDirection, density: Density ): Outline { val path = Path().apply { val curveDepthPx = with(density) { curveDepth.toPx() } moveTo(0f, 0f) lineTo(size.width, 0f) val ySide = size.height - curveDepthPx lineTo(size.width, ySide) quadraticTo( x1 = size.width / 2f, y1 = size.height + curveDepthPx, x2 = 0f, y2 = ySide ) close() } return Outline.Generic(path) } }

May 31, 2026 Â· 1 min

Dialog

Buat menampilkan dialog tinggal panggil kode dari viewmodel, akses properti di uistate yg bernilai boolean yg sudah diset untuk tampilkan dialog misal gini Scaffold{ if(uiState.isShowDialog){ Dialog( //lanjut implementasi ) } Column{ …. } } buat panggil viewmodel di scren pakai ni @Composable fun ContohScreen(viewmodelx:ContohViewModel = viewModel()) buat panggil uiState pakai ini val uiState by viewModel.uiState.collectAsStateWithLifecycle() kenapa pakai collectAsStateWithLifecycle ? kalau colectAsState biasa dia akan terus collect perubahan data selama composable itu ada di composition tree mesikupun app sedang ada di backgroudn ...

May 30, 2026 Â· 1 min

Helloworld

Hello World U2FsdGVkX19eiXKIwdrVdvvWX+9tLxqiui6GNYtqPBIJbb3/YhiW0xqPT/BOSdx3m7Y/oeY8T0h7UiyG9SZ+RuVDbhKiXfpd8MiVU1bD4ar1TwImvlNqdQpJl01YMumlEGM+0VamCQaLEgx+03yM8XJO16F5/4CAcUHIWoVwTPT+EsYUzD5eI4WI79tQ15Ba8jZ6N9mCoZwAtMCOMuzF/LxiVB+RtRNJXbLyCamxnk7q6BVeqmL/7wRpPhgAV1u22KKS9ux1BPlGIft3Rlvc6iQob899ahM5yL3natFVPAJ1pVMJ7k/0AE8mptuhlrozNX6R2kgcd6e4t+xPNZg6OBDfL9xtcAt9r/1h4kx0T08E6AzHwtFWHJvmfX9Vft0hLtr3a4hvevfauTmFYuSRPQ02aWOZmjNJh75Q6OFZCtDosVovmSLf0YSg7RYmzUQvNLuwre6I4ycQmR/T3xS1GxX959VrxEkp+vteeKp4Iqc= my unique identity to decrypt

May 30, 2026 Â· 1 min