Paralaks kaydırma, arka plan içeriği ile ön plan içeriğinin farklı hızlarda kaydırıldığı bir tekniktir. Bu tekniği uygulayarak uygulamanızın kullanıcı arayüzünü geliştirebilir ve kullanıcılarınız kaydırma yaparken daha dinamik bir deneyim oluşturabilirsiniz.
Sonuçlar
Sürüm uyumluluğu
Bu uygulama, projenizin minSDK'sının API düzeyi 21 veya sonraki sürümlere ayarlanmasını gerektirir.
Bağımlılıklar
Paralaks efekti oluşturma
Paralaks efektini elde etmek için kaydırma composable'ındaki kaydırma değerinin bir kısmını, paralaks efektine ihtiyaç duyan composable'a uygularsınız. Aşağıdaki snippet, iç içe yerleştirilmiş iki görsel öğeyi (bir resim ve bir metin bloğu) alıp aynı yönde farklı hızlarda kaydırır:
@Composable fun ParallaxEffect() { fun Modifier.parallaxLayoutModifier(scrollState: ScrollState, rate: Int) = layout { measurable, constraints -> val placeable = measurable.measure(constraints) val height = if (rate > 0) scrollState.value / rate else scrollState.value layout(placeable.width, placeable.height) { placeable.place(0, height) } } val scrollState = rememberScrollState() Column( modifier = Modifier .fillMaxWidth() .verticalScroll(scrollState), ) { Image( painterResource(id = R.drawable.cupcake), contentDescription = "Android logo", contentScale = ContentScale.Fit, // Reduce scrolling rate by half. modifier = Modifier.parallaxLayoutModifier(scrollState, 2) ) Text( text = stringResource(R.string.detail_placeholder), modifier = Modifier .background(Color.White) .padding(horizontal = 8.dp), ) } }
Kodla ilgili önemli noktalar
- Birleştirilebilir öğenin kaydırma hızını ayarlamak için özel bir
layoutdeğiştirici oluşturur. Image,Text'den daha yavaş kaydırılır. Bu nedenle, iki composable dikey olarak farklı hızlarda çevrildiğinde paralaks efekti oluşur.
Bu rehberi içeren koleksiyonlar
Bu kılavuz, daha kapsamlı Android geliştirme hedeflerini ele alan aşağıdaki seçilmiş Hızlı Kılavuz koleksiyonlarının bir parçasıdır:
Liste veya ızgara görüntüleme
Görselleri görüntüle