构建详情屏幕

许多 TV 应用都包含内容详情页面,其中包含给定内容(例如特定电影)的相关元数据。详情页面可以作为可组合函数实现,将所选内容的元数据作为其参数。

以下代码是详情屏幕的典型实现。它会加载指定电影的图片以及标题和说明。用户能够将屏幕过渡到播放器屏幕,这可通过点击按钮开始播放电影来触发。您可以通过设置回调函数来处理此操作,使屏幕转换。

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