Lecteur de musique : Informations sur le morceau
Fait partie de la section Des mises en page adaptées du Journey Flutter de Coddy. Leçon 27 sur 30.
Sous l’illustration viennent la chanson et l’artiste. Comme le nom sur une carte de visite, le titre de la chanson est la ligne que l’œil doit repérer en premier : grande et en gras. L’artiste apparaît sur une ligne grise plus discrète, juste en dessous.
L’illustration est une grande forme et le titre, une petite, alors il faut de l’espace entre eux, davantage qu’entre le titre et l’artiste, qui vont ensemble. C’est l’espacement qui regroupe les éléments qui rend un écran facile à lire.
Défi
FacileSous l’illustration, ajoute :
- un
SizedBox(height: 24) Midnight Drive, taille24et en gras- un
SizedBox(height: 4) The Night OwlsenColors.grey
Essayez vous-même
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
),
home: Scaffold(
appBar: AppBar(title: const Text('Now Playing')),
body: Padding(
padding: const EdgeInsets.all(24),
child: Column(
children: [
Stack(
children: [
Container(
width: double.infinity,
height: 300,
decoration: BoxDecoration(
color: Colors.deepPurple,
borderRadius: BorderRadius.circular(24),
),
child: const Center(
child: Icon(Icons.album, size: 120, color: Colors.white),
),
),
Positioned(
top: 12,
right: 12,
child: Container(
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4),
decoration: BoxDecoration(
color: Colors.black54,
borderRadius: BorderRadius.circular(8),
),
child: const Text(
'HD',
style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold),
),
),
),
],
),
],
),
),
),
);
}
}
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Des mises en page adaptées
1Partager une ligne
Expanded remplit la lignePartager l’espace avec flexFlexible épouse son enfantSpacer écarte les éléments4Tailles et points de rupture
Pleine largeur : double.infinityUne largeur maximaleTaille de l’écran : MediaQueryPoints de rupture de LayoutBuilder7Projet : Lecteur de musique
Lecteur de musique : Pochette d’albumLecteur de musique : Informations sur le morceau2L’erreur de débordement
L’erreur de débordementCorrection du débordement : agrandirCorrection du débordement : faire défilerCorrection du débordement : renvoyer à la ligneEspacement à l’intérieur d’un renvoi à la ligne5Énumérations et switch
Énumérations pour les types d’écranUtiliser switch avec une énumérationExpressions switchEntraînez-vous par vous-même : Compilateur Flutter en ligne