세부정보 화면 빌드

많은 TV 앱에는 특정 콘텐츠 (예: 특정 영화)와 관련된 메타데이터가 포함된 콘텐츠 세부정보 페이지가 포함되어 있습니다. 세부정보 페이지는 선택한 콘텐츠의 메타데이터를 인수로 사용하는 구성 가능한 함수로 구현할 수 있습니다.

다음 코드는 세부정보 화면의 일반적인 구현입니다. 제목과 설명이 포함된 지정된 영화의 이미지를 로드합니다. 사용자는 영화 재생을 시작하는 버튼을 클릭하여 트리거할 수 있는 플레이어 화면으로 화면 전환을 할 수 있습니다. 콜백 함수를 설정하여 이 작업을 처리하여 화면 전환을 할 수 있습니다.

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