בניית מסך פרטים

אפליקציות רבות לטלוויזיה כוללות דפי פרטי תוכן עם מטא-נתונים רלוונטיים לגבי פריט תוכן מסוים (למשל, סרט ספציפי). אפשר להטמיע דפי פרטים כפונקציה קומפוזבילית, והיא מקבלת את המטא-נתונים של התוכן שנבחר כארגומנט.

הקוד הבא הוא הטמעה אופיינית של מסך הפרטים. הוא טוען תמונה של הסרט שצוין עם השם והתיאור שלו. המשתמש יכול לעבור למסך הנגן, והמעבר הזה יכול להיות מופעל בלחיצה על לחצן כדי להתחיל בהפעלת הסרט. אפשר לטפל בפעולה הזו כדי לבצע את המעבר בין המסכים על ידי הגדרת פונקציית קריאה חוזרת.

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