This app shows a list of items 5 at a time. When you tap "Load More", it shows the next 5 items.
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items
import androidx.compose.material3.Button
import androidx.compose.material3.Text
import androidx.compose.runtime.*
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
PaginationExample()
}
}
}
@Composable
fun PaginationExample() {
var page by remember { mutableStateOf(1) }
val pageSize = 5
val allItems = (1..50).map { "Item $it" }
val items = allItems.drop((page - 1) * pageSize).take(pageSize)
Column {
LazyColumn {
items(items) { item ->
Text(text = item)
}
}
Button(onClick = { if (page * pageSize < allItems.size) page++ }) {
Text(text = "Load More")
}
}
}