إنشاء تأثير التمرير المتغير

التمرير المتوازي هو أسلوب يتم فيه تمرير محتوى الخلفية ومحتوى المقدمة بسرعات مختلفة. يمكنك تطبيق هذا الأسلوب لتحسين واجهة مستخدم تطبيقك، ما يؤدي إلى إنشاء تجربة أكثر ديناميكية أثناء تمرير المستخدمين.

النتائج

الشكل 1. قائمة قابلة للتمرير مع تأثير اختلاف المنظر.

التوافق مع الإصدارات

يتطلّب هذا التنفيذ ضبط `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:

تسمح القوائم والشبكات لتطبيقك بعرض المجموعات بطريقة جذابة وسهلة الاستخدام للمستخدمين.
يمكنك التعرّف على تقنيات استخدام تصميمات مرئية جذابة وواضحة لمنح تطبيق Android مظهرًا رائعًا وتجربة استخدام ممتعة.
النص هو جزء أساسي من أي واجهة مستخدم. يمكنك التعرّف على الطرق المختلفة التي يمكنك من خلالها عرض النص في تطبيقك لتوفير تجربة مستخدم ممتعة.

هل لديك أسئلة أو ملاحظات؟

انتقِل إلى صفحة الأسئلة الشائعة وتعرَّف على "الأدلة السريعة" أو تواصَل معنا وأخبرنا بأفكارك.