कई टीवी ऐप्लिकेशन में, कॉन्टेंट की जानकारी वाले पेज होते हैं. इनमें किसी कॉन्टेंट (जैसे, किसी फ़िल्म) के लिए काम का मेटाडेटा शामिल होता है. ज़्यादा जानकारी वाले पेजों को, डिसएसेम्बल किए जा सकने वाले फ़ंक्शन के तौर पर लागू किया जा सकता है. इसके लिए, चुने गए कॉन्टेंट का मेटाडेटा, आर्ग्युमेंट के तौर पर लिया जाता है.
नीचे दिया गया कोड, ज़्यादा जानकारी वाली स्क्रीन को लागू करने का एक सामान्य तरीका है. यह किसी फ़िल्म के टाइटल और ब्यौरे के साथ, उसकी इमेज लोड करता है. उपयोगकर्ता, प्लेयर स्क्रीन पर स्क्रीन ट्रांज़िशन कर सकता है. मूवी चलाने के लिए, बटन पर क्लिक करके इसे ट्रिगर किया जा सकता है. कॉलबैक फ़ंक्शन सेट करके, स्क्रीन ट्रांज़िशन करने के लिए इस कार्रवाई को मैनेज किया जा सकता है.
@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)
}
}
}
}