PPB F_Tugas 6

Nama I Putu Bagus Adhi Pradana

NRP 5025201010      Kelas PPB F


Image Scroll

  1. class MainActivity : ComponentActivity() {
  2. override fun onCreate(savedInstanceState: Bundle?) {
  3. super.onCreate(savedInstanceState)
  4. setContent {
  5. AffirmationsTheme {
  6. // A surface container using the 'background' color from the theme
  7. Surface(
  8. modifier = Modifier.fillMaxSize(),
  9. color = MaterialTheme.colorScheme.background
  10. ) {
  11. AffirmationsApp()
  12. }
  13. }
  14. }
  15. }
  16. }
  17. @Composable
  18. fun AffirmationsApp() {
  19. AffirmationList(affirmationList = Datasource().loadAffirmations())
  20. }
  21. @Composable
  22. fun AffirmationCard(affirmation: Affirmation, modifier: Modifier = Modifier){
  23. Card(modifier = modifier) {
  24. Column {
  25. Image(painter = painterResource(affirmation.imageResourceId),
  26. contentDescription = stringResource(affirmation.stringResourceId),
  27. modifier = Modifier
  28. .fillMaxWidth()
  29. .height(194.dp),
  30. contentScale = ContentScale.Crop
  31. )
  32. Text(
  33. text = LocalContext.current.getString(affirmation.stringResourceId),
  34. modifier = Modifier.padding(16.dp),
  35. style = MaterialTheme.typography.headlineSmall)
  36. }
  37. }
  38. }
  39. @Preview(
  40. showSystemUi = true,
  41. showBackground = true
  42. )
  43. @Composable
  44. private fun AffirmationCardPreview() {
  45. AffirmationCard(affirmation = Affirmation(R.string.affirmation1, R.drawable.image1))
  46. }
  47. @Composable
  48. fun AffirmationList(affirmationList: List<Affirmation>, modifier: Modifier = Modifier){
  49. LazyColumn (modifier = modifier){
  50. items(affirmationList){affirmation ->
  51. AffirmationCard(affirmation,
  52. modifier = Modifier.padding(16.dp),
  53. )
  54. }
  55. }
  56. }



Hasil:


Komentar

Postingan populer dari blog ini

MPPL B Tugas 3

MPPL B Tugas 7