ज़्यादा जानकारी वाली स्क्रीन बनाएं

टीवी के कई ऐप्लिकेशन में, कॉन्टेंट की जानकारी वाले पेज शामिल होते हैं. इनमें, किसी खास कॉन्टेंट (जैसे, किसी फ़िल्म) के लिए काम का मेटाडेटा होता है. जानकारी वाले पेजों को कंपोज़ेबल फ़ंक्शन के तौर पर लागू किया जा सकता है. इसमें, चुने गए कॉन्टेंट का मेटाडेटा, आर्ग्युमेंट के तौर पर लिया जाता है.

यहां दिया गया कोड, जानकारी वाली स्क्रीन को लागू करने का एक सामान्य तरीका दिखाता है. यह दी गई फ़िल्म की इमेज को उसके टाइटल और ब्यौरे के साथ लोड करता है. उपयोगकर्ता, स्क्रीन ट्रांज़िशन करके प्लेयर स्क्रीन पर जा सकता है. फ़िल्म को चलाने के लिए, बटन पर क्लिक करके इस ट्रांज़िशन को ट्रिगर किया जा सकता है. कॉल बैक फ़ंक्शन सेट करके, स्क्रीन ट्रांज़िशन के लिए इस कार्रवाई को मैनेज किया जा सकता है.

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