বিবরণ স্ক্রিন তৈরি করা

অনেক টিভি অ্যাপে কন্টেন্টের বিবরণ পৃষ্ঠা থাকে, যেখানে কোনও নির্দিষ্ট কন্টেন্টের (যেমন, কোনও নির্দিষ্ট সিনেমা) জন্য প্রাসঙ্গিক মেটাডেটা থাকে। বিবরণ পৃষ্ঠাগুলি কম্পোজ করা যায় এমন ফাংশন হিসেবে প্রয়োগ করা যেতে পারে, এর আর্গুমেন্ট হিসেবে বেছে নেওয়া কন্টেন্টের মেটাডেটা নেওয়া হয়।

নিচে দেওয়া কোডটি হল বিবরণ স্ক্রিনের একটি সাধারণ প্রয়োগ। এটি প্রদত্ত সিনেমার একটি ছবি লোড করে যার শীর্ষক ও বিবরণ দেওয়া আছে। ব্যবহারকারী প্লেয়ার স্ক্রিনে স্ক্রিন ট্রানজিশন করতে পারেন, যা সিনেমা প্লেব্যাক শুরু করার জন্য একটি বোতামে ক্লিক করে ট্রিগার করা যেতে পারে। কলব্যাক ফাংশন সেট করে আপনি স্ক্রিন ট্রানজিশন করার জন্য এই অ্যাকশন হ্যান্ডেল করতে পারবেন।

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