多くのテレビアプリには、特定のコンテンツ(特定の映画など)に関連するメタデータを含むコンテンツ詳細ページがあります。詳細ページは、選択したコンテンツのメタデータを引数として受け取るコンポーザブル関数として実装できます。
次のコードは、詳細画面の一般的な実装です。指定された映画の 画像が タイトルと説明とともに読み込まれます。ユーザーは、映画の再生を開始するボタンをクリックして、プレーヤー画面に遷移できます。コールバック関数を設定することで、このアクションを処理して画面を遷移させることができます。
@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)) } } } }