@@ -35,8 +35,10 @@ import androidx.compose.foundation.layout.height
3535import androidx.compose.foundation.layout.padding
3636import androidx.compose.foundation.layout.size
3737import androidx.compose.foundation.layout.width
38+ import androidx.compose.foundation.lazy.LazyListState
3839import androidx.compose.foundation.lazy.LazyRow
3940import androidx.compose.foundation.lazy.itemsIndexed
41+ import androidx.compose.foundation.lazy.rememberLazyListState
4042import androidx.compose.foundation.shape.CircleShape
4143import androidx.compose.foundation.shape.RoundedCornerShape
4244import androidx.compose.material3.Button
@@ -97,6 +99,13 @@ fun CameraScreen(
9799 }
98100 }
99101
102+ val listState = rememberLazyListState()
103+ LaunchedEffect (pageIds.size) {
104+ if (pageIds.isNotEmpty()) {
105+ listState.animateScrollToItem(pageIds.lastIndex)
106+ }
107+ }
108+
100109 CameraScreenContent (
101110 modifier,
102111 cameraPreview = {
@@ -110,7 +119,8 @@ fun CameraScreen(
110119 CameraCapturedPagesRow (
111120 pageIds = pageIds,
112121 imageLoader = { id -> viewModel.getBitmap(id) },
113- onPageClick = { index -> viewModel.navigateTo(Screen .FinalizeDocument (index)) }
122+ onPageClick = { index -> viewModel.navigateTo(Screen .FinalizeDocument (index)) },
123+ listState = listState
114124 )
115125 },
116126 cameraUiState = CameraUiState (pageIds.size, liveAnalysisState, captureState),
@@ -275,10 +285,12 @@ fun CameraCapturedPagesRow(
275285 pageIds : List <String >,
276286 imageLoader : (String ) -> Bitmap ? ,
277287 onPageClick : (Int ) -> Unit ,
288+ listState : LazyListState ,
278289) {
279290 if (pageIds.isEmpty()) return
280291
281292 LazyRow (
293+ state = listState,
282294 modifier = Modifier
283295 .fillMaxWidth()
284296 .padding(horizontal = 8 .dp, vertical = 4 .dp),
@@ -347,7 +359,8 @@ private fun ScreenPreview(captureState: CaptureState) {
347359 BitmapFactory .decodeStream(input)
348360 }
349361 },
350- onPageClick = {}
362+ onPageClick = {},
363+ listState = LazyListState ()
351364 )
352365 },
353366 cameraUiState = CameraUiState (pageCount = 4 , LiveAnalysisState (), captureState),
0 commit comments