ساختن صفحه جزئیات

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

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

@Composable
fun DetailsScreen(
    movie: Movie,
    modifier: Modifier = Modifier,
    onStartPlayback: (Movie) -> Unit = {}
) {
    Box(modifier = modifier.fillMaxSize()) {
        AsyncImage(
            modifier = Modifier.fillMaxSize(),
            model = movie.backgroundImageUrl,
            contentDescription = null,
            contentScale = ContentScale.Crop,
        )
        Column(modifier = Modifier.padding(32.dp)) {
            Text(
                text = movie.title,
                style = MaterialTheme.typography.headlineMedium
            )
            Text(text = movie.description)
            Button(onClick = { onStartPlayback(movie) }) {
                Text(text = stringResource(id = R.string.startPlayback))
            }
        }
    }
}