• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 }