یک افکت پیمایش اختلاف منظر ایجاد کنید

پیمایش اختلاف منظر تکنیکی است که در آن محتوای پس‌زمینه و محتوای پیش‌زمینه با سرعت‌های مختلف حرکت می‌کنند. می‌توانید این تکنیک را برای بهبود رابط کاربری برنامه خود پیاده‌سازی کنید و در حین حرکت کاربران تجربه‌ای پویاتر ایجاد کنید.

سازگاری نسخه

این پیاده سازی مستلزم آن است که minSDK پروژه شما روی سطح API 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 اسکرول می‌کند، و در نتیجه یک اثر اختلاف منظر ایجاد می‌کند، زیرا دو ترکیب‌پذیر به صورت عمودی با سرعت‌های متفاوت ترجمه می‌شوند.

نتایج

شکل 1. فهرست پیمایشی با جلوه اختلاف منظر.

مجموعه هایی که حاوی این راهنما هستند

این راهنما بخشی از مجموعه‌های راهنمای Quick Guide است که اهداف توسعه Android گسترده‌تری را پوشش می‌دهد:

فهرست‌ها و شبکه‌ها به برنامه شما اجازه می‌دهند مجموعه‌ها را به شکل بصری دلپذیری نمایش دهد که مصرف آن برای کاربران آسان است.
تکنیک هایی را برای استفاده از تصاویر روشن و جذاب کشف کنید تا به برنامه اندروید خود ظاهر و احساس زیبایی ببخشید.
متن بخش مرکزی هر رابط کاربری است. روش های مختلفی را بیابید که می توانید متن را در برنامه خود ارائه دهید تا تجربه کاربری لذت بخشی را ارائه دهید.

سوال یا بازخورد داشته باشید

به صفحه سوالات متداول ما بروید و درباره راهنماهای سریع بیاموزید یا با ما تماس بگیرید و نظرات خود را با ما در میان بگذارید.