Bonjour à tous,

Je commence le développement sur Android. Je suis actuellement entrain de faire un tutoriel. Je dois réaliser ceci : Nom : TutoGood.JPG
Affichages : 196
Taille : 51,1 Ko mais je me retrouve plutôt avec ceci : Nom : tutoBad.JPG
Affichages : 138
Taille : 27,4 Ko.

J'ai a ma disposition la correction de l'exercice et elle fonctionne. Mais je n'arrive pas a voir ou j'ai fait une erreur même avec la correction. Il y a surement un concept que j'ai du mal comprendre.

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            QuadrantTheme {
                // A surface container using the 'background' color from the theme
                Surface(
                    modifier = Modifier.fillMaxSize(),
                    color = MaterialTheme.colorScheme.background
                ) {
                    QuadrantApp()
                }
            }
        }
    }
}
 
@Composable
fun QuadrantApp() {
 
    Column (Modifier.fillMaxWidth()){
        Row (Modifier.weight(1f)){
            QuadrantCard(stringResource(id = R.string.title1), stringResource(id = R.string.body1), colorResource(id = R.color.Quad1),modifier =Modifier.weight(1f))
            QuadrantCard(stringResource(id = R.string.title2), "body2", colorResource(id = R.color.Quad2),modifier = Modifier.weight(1f))
        }
 
        Row (Modifier.weight(1f)) {
            QuadrantCard(stringResource(id = R.string.title3), "body", colorResource(id = R.color.Quad3),modifier = Modifier.weight(1f))
            QuadrantCard(stringResource(id = R.string.title4), "body2", colorResource(id = R.color.Quad4),modifier = Modifier.weight(1f))
        }
    }
 
}
 
@Composable
fun QuadrantCard(title: String,body: String, color: Color, modifier: Modifier = Modifier){
 
    Column (
        modifier = modifier
            .fillMaxSize()
            .padding(16.dp)
            .background(color),
        verticalArrangement = Arrangement.Center,
        horizontalAlignment = Alignment.CenterHorizontally,
    ){
        Text(
            text = title,
            fontWeight = FontWeight.Bold,
            modifier = modifier.padding(bottom = 16.dp)
        )
 
        Text(
            text = body,
            //fontSize = 14.sp,
            textAlign = TextAlign.Justify,
        )
 
    }
 
}
 
@Preview(showBackground = true)
@Composable
fun GreetingPreview() {
    QuadrantTheme {
        QuadrantApp()
    }
}

et voici celui de la correction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            ComposequadrantTheme {
                // A surface container using the 'background' color from the theme
                Surface(
                    modifier = Modifier.fillMaxSize(),
                    color = MaterialTheme.colorScheme.background
                ) {
                    ComposeQuadrantApp()
                }
            }
        }
    }
}
 
@Composable
fun ComposeQuadrantApp() {
    Column(Modifier.fillMaxWidth()) {
        Row(Modifier.weight(1f)) {
            ComposableInfoCard(
                title = "title1",
                description = "Creates a composable that lays out and draws a given Painter class object.",
                backgroundColor = Color(0xFFEADDFF),
                modifier = Modifier.weight(1f)
            )
            ComposableInfoCard(
                title = "title2",
                description = "Creates a composable that lays out and draws a given Painter class object.2",
                backgroundColor = Color(0xFFD0BCFF),
                modifier = Modifier.weight(1f)
            )
        }
        Row(Modifier.weight(1f)) {
            ComposableInfoCard(
                title = "title3",
                description = "Creates a composable that lays out and draws a given Painter class object.3",
                backgroundColor = Color(0xFFB69DF8),
                modifier = Modifier.weight(1f)
            )
            ComposableInfoCard(
                title = "title4",
                description = "Creates a composable that lays out and draws a given Painter class object.4",
                backgroundColor = Color(0xFFF6EDFF),
                modifier = Modifier.weight(1f)
            )
        }
    }
}
 
@Composable
private fun ComposableInfoCard(
    title: String,
    description: String,
    backgroundColor: Color,
    modifier: Modifier = Modifier
) {
    Column(
        modifier = modifier
            .fillMaxSize()
            .background(backgroundColor)
            .padding(16.dp),
        verticalArrangement = Arrangement.Center,
        horizontalAlignment = Alignment.CenterHorizontally
    ) {
        Text(
            text = title,
            modifier = Modifier.padding(bottom = 16.dp),
            fontWeight = FontWeight.Bold
        )
        Text(
            text = description,
            textAlign = TextAlign.Justify
        )
    }
}
 
@Preview(showBackground = true)
@Composable
fun ComposeQuadrantAppPreview() {
    ComposequadrantTheme {
        ComposeQuadrantApp()
    }
}

Je viens de perdre 2h dessus ...je suis sur que ce n'est pas grand chose mais je tourne en rond.
Merci d'avance pour le coup de pouce.