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

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

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

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