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

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

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

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