adding parallax to hero

This commit is contained in:
tapframe 2026-03-11 21:25:12 +05:30
parent f91321e1ec
commit 474593dbf7
2 changed files with 10 additions and 3 deletions

View file

@ -19,6 +19,7 @@ import androidx.compose.foundation.layout.windowInsetsPadding
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.foundation.verticalScroll
import androidx.compose.ui.graphics.graphicsLayer
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.rounded.ArrowBack
import androidx.compose.material3.CircularProgressIndicator
@ -87,12 +88,13 @@ fun MetaDetailsScreen(
uiState.meta != null -> {
val meta = uiState.meta!!
val scrollState = rememberScrollState()
Column(
modifier = Modifier
.fillMaxSize()
.verticalScroll(rememberScrollState()),
.verticalScroll(scrollState),
) {
DetailHero(meta = meta)
DetailHero(meta = meta, scrollOffset = scrollState.value)
Column(
modifier = Modifier

View file

@ -19,12 +19,14 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.graphics.graphicsLayer
import coil3.compose.AsyncImage
import com.nuvio.app.features.details.MetaDetails
@Composable
fun DetailHero(
meta: MetaDetails,
scrollOffset: Int = 0,
modifier: Modifier = Modifier,
) {
Box(
@ -37,7 +39,10 @@ fun DetailHero(
contentDescription = meta.name,
modifier = Modifier
.fillMaxWidth()
.aspectRatio(0.75f),
.aspectRatio(0.75f)
.graphicsLayer {
translationY = scrollOffset * 0.5f
},
contentScale = ContentScale.Crop,
)
} else {