التمرير المتوازي هو أسلوب يتم فيه تمرير محتوى الخلفية ومحتوى المقدمة بسرعات مختلفة. يمكنك تطبيق هذا الأسلوب لتحسين واجهة مستخدم تطبيقك، ما يؤدي إلى إنشاء تجربة أكثر ديناميكية أثناء تمرير المستخدمين.
النتائج
التوافق مع الإصدارات
يتطلّب هذا التنفيذ ضبط `minSDK` لمشروعك على مستوى واجهة برمجة التطبيقات 21 أو أعلى.
الطلبات التابعة
إنشاء تأثير اختلاف المنظر
لتحقيق التأثير المتوازٍ، يمكنك تطبيق جزء من قيمة التمرير من العنصر القابل للإنشاء القابل للتمرير على العنصر القابل للإنشاء الذي يحتاج إلى التأثير المتوازٍ. تأخذ اللقطة البرمجية التالية عنصرَين مرئيَين متداخلَين، وهما صورة وكتلة نصية، وتمرّرهما في الاتجاه نفسه بسرعات مختلفة:
@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), ) } }
النقاط الرئيسية حول الرمز
- إنشاء معدِّل
layoutمخصّص لضبط المعدّل الذي يتم به تمرير العنصر القابل للإنشاء - يتم تمرير
Imageبمعدّل أبطأ منText، ما يؤدي إلى ظهور تأثير اختلاف المنظر أثناء ترجمة العنصرَين القابلَين للإنشاء عموديًا بمعدّلات مختلفة.
المجموعات التي تتضمّن هذا الدليل
هذا الدليل جزء من مجموعات "الدليل السريع" المنسّقة التي تتناول أهدافًا أوسع نطاقًا لتطوير تطبيقات Android:
عرض قائمة أو شبكة
عرض الصور