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

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

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

@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))
            }
        }
    }
}