1 package com.airbnb.lottie.sample.compose.examples
2
3 import androidx.compose.foundation.background
4 import androidx.compose.foundation.layout.Box
5 import androidx.compose.foundation.layout.Column
6 import androidx.compose.foundation.layout.aspectRatio
7 import androidx.compose.foundation.layout.fillMaxWidth
8 import androidx.compose.foundation.layout.padding
9 import androidx.compose.foundation.layout.wrapContentHeight
10 import androidx.compose.foundation.shape.RoundedCornerShape
11 import androidx.compose.material.Surface
12 import androidx.compose.material.Text
13 import androidx.compose.runtime.Composable
14 import androidx.compose.ui.Modifier
15 import androidx.compose.ui.graphics.Color
16 import androidx.compose.ui.unit.dp
17 import androidx.compose.ui.unit.sp
18
19 @Composable
ExampleCardnull20 fun ExampleCard(
21 name: String,
22 description: String,
23 content: @Composable () -> Unit,
24 ) {
25 Surface(
26 shape = RoundedCornerShape(6.dp),
27 elevation = 8.dp,
28 modifier = Modifier
29 .fillMaxWidth()
30 .wrapContentHeight()
31 .padding(bottom = 16.dp)
32 .padding(horizontal = 48.dp)
33 ) {
34 Column {
35 Box(
36 modifier = Modifier
37 .fillMaxWidth()
38 .aspectRatio(1f)
39 .background(Color.Gray)
40 ) {
41 content()
42 }
43 Text(
44 name,
45 modifier = Modifier
46 .padding(horizontal = 16.dp)
47 .padding(top = 16.dp, bottom = 4.dp)
48 )
49 Text(
50 description,
51 color = Color.Gray,
52 fontSize = 12.sp,
53 modifier = Modifier
54 .padding(horizontal = 16.dp)
55 .padding(bottom = 16.dp)
56 )
57 }
58 }
59 }