构建详情屏幕

许多电视应用都包含内容详情页面,其中包含特定内容(即特定电影)的相关元数据。详情页面可通过可组合函数实现,将所选内容的元数据作为参数传入即可。

以下代码是详情界面的典型实现。它会加载指定电影的图片,并显示电影的标题和说明。用户可以切换到播放器界面,只需点击按钮即可开始播放电影。您可以通过设置回调函数来处理此操作,实现屏幕间的切换。

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