Skip to main content

Image Scroll - Android

 

Nama: Richard Ryan

NRP: 5025211141

Kelas: PPB (G)

Tema: Image Scroll


Link Github :  Github

Penjelasan Kode:


data class ImageItem(val imageResId: Int, val description: String)

val sampleImages = listOf(
    ImageItem(R.drawable.image1, "Pantai saat senja"),
    ImageItem(R.drawable.image2, "Orang mendayung perahu di laut"),
    ImageItem(R.drawable.image3, "Golden Gate"),
    ImageItem(R.drawable.image4, "Gunung di tepi pantai"),
    ImageItem(R.drawable.image5, "Danau")
)

Pertama akan dibuat terlebih dahulu data class untuk menyimpan gambar-gambar yang akan ditampilkan ke sebuah list.


@Composable
fun HomeScreen() {
    LazyColumn(
        modifier = Modifier
            .fillMaxSize()
            .padding(24.dp),
        verticalArrangement = Arrangement.spacedBy(16.dp)
    ) {
        items(sampleImages) { item ->
            ImageCard(imageItem = item)
        }
    }
}

Kemudian, akan dibuat ImageCard untuk setiap item pada list tersebut.

  • Digunakan LazyColumn agar halaman bisa discroll dengan efisien.
  • Halaman diberikan padding sebesar 24 dp di keempat sisi.
  • Setiap gambar dipisahkan dengan jarak sebesar 16 dp.

@Composable
fun ImageCard(imageItem: ImageItem) {
    Card(
        modifier = Modifier.fillMaxWidth()
    ) {
        Column {
            Image(
                painter = painterResource(id = imageItem.imageResId),
                contentDescription = imageItem.description,
                modifier = Modifier
                    .fillMaxWidth()
                    .aspectRatio(16f / 9f),
                contentScale = ContentScale.Crop
            )
            Text(
                text = imageItem.description,
                fontSize = 16.sp,
                modifier = Modifier.padding(16.dp),
                style = MaterialTheme.typography.bodyMedium
            )
        }
    }
}

Setiap ImageCard terdiri dari sebuah gambar dan teks deskripsi, kedua hal ini akan diambil dari setiap item pada dipassing.

Hasil







Comments

Popular posts from this blog

Starbucks Clone - Android

  Nama: Richard Ryan NRP: 5025211141 Kelas: PPB (G) Tema: Aplikasi Starbucks Link Github :  Github Hasil

Evolusi Perangkat Bergerak

Nama: Richard Ryan NRP: 5025211141 Kelas; PPB G 1. Sejarah Ponsel - Ponsel pertama kali diciptakan pada April 1973 oleh Motorola yang kemudian dinamakan DynaTAC 8000X. Ponsel ini cukup berat, mencapai 1.1 kg dan memiliki daya yang boros dimana baterinya hanya memungkinkan komunikasi selama 30 menit sebelum harus diisi ulang selama 10 jam - Ponsel mulai populer pada tahun 1990an, pada masa tersebut jumlah pengguna hanyalah sekitar 10 juta orang sedangkan 10 tahun kemudian, pada tahun 2000, angka tersebut telah naik mencapai 2.5 milyar pengguna 2. Perkembangan teknologi ponsel - 1973: Ponsel pertama diciptakan oleh Motorola - 1985: Ponsel Siemens Mobiletelefon C1 berbentuk tas dirilis - 1987: Nokia meluncurkan ponsel pertama mereka, Mobira Cityman 900. Ponsel ini memiliki berat total 800 gram. Ponsel ini tergolong sebagai ponsel dengan harga yang cukup mahal dan hanya kalangan tertentu yang bisa membelinya - 1988: Samsung merilis ponsel pertama mereka, SH-100. Ponsel ini juga menjadi pon...

Trash2Cash

  Trash2Cash Aplikasi Manajemen Bank Sampah