Skip to content

Instantly share code, notes, and snippets.

@Chralu
Chralu / main.dart
Last active July 20, 2022 16:47
Flutter101 - Simple widget
// Copyright (c) 2022, TheTribe.io
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return const Center(
@Chralu
Chralu / main.dart
Last active July 26, 2022 07:35
Flutter101 - Minimal app
// Copyright (c) 2022, TheTribe.io
import 'package:flutter/material.dart';
///
/// Point d'entrée de l'application.
/// Toutes les applications doivent avoir une fonction `main()`
///
/// On fait appel à [runApp] pour exécuter le [Widget]
/// principal de notre application
@Chralu
Chralu / main.dart
Last active September 19, 2022 14:29
Flutter101 - Positioned parameter
// Copyright (c) 2022, TheTribe.io
String helloWithPositionalParameters(
String name,
int age,
double? size, //le ? indique qu'une valeur [null] est acceptée
) {
if (size != null) {
return "Bonjour $name ($age ans, $size mètres)";
}
@Chralu
Chralu / main.dart
Last active September 19, 2022 14:40
Flutter101 - Named parameter
// Copyright (c) 2022, TheTribe.io
String helloWithNamedParameters({
required String name, // les paramètres obligatoires sont préfixés de `required`
required int? age, // un paramètres peut être obligatoires ET nullable
double? size, // paramètre nullable et facultatif
}) {
if (size != null) {
return "Bonjour $name ($age ans, $size mètres)";
}
@Chralu
Chralu / main.dart
Last active September 7, 2022 15:44
Flutter101 - Block/Expression body
// Copyright (c) 2022, TheTribe.io
/// Exemple de fonction avec un Expression body
/// Notez la syntaxe "=>"
String getTextWithExpressionBody() => "Bonjour tout le monde";
/// Exemple de fonction avec un Block body
/// Elle est strictement équivalente à [getTextWithExpressionBody]
String getTextWithBlockBody() {
@Chralu
Chralu / main.dart
Created July 25, 2022 16:19
Flutter101 - Block body
// Copyright (c) 2022, TheTribe.io
void main() {
final helloWorldText = getHelloWorldText();
print(helloWorldText);
}
String getHelloWorldText() {
return "Bonjour tout le monde";
}
@Chralu
Chralu / main.dart
Created July 26, 2022 09:57
Flutter101 - Layout example
import 'package:flutter/material.dart';
class MyAppBar extends StatelessWidget {
const MyAppBar({required this.title, super.key});
// Dans un widget, les propriétés sont toujours marquées "finales".
final Widget title;
@override
Widget build(BuildContext context) {
@Chralu
Chralu / main.dart
Last active September 19, 2022 15:37
Flutter101 - Layout column
import 'package:flutter/material.dart';
class ColumnDemo extends StatelessWidget {
const ColumnDemo({super.key});
@override
Widget build(BuildContext context) {
return Column(
textDirection: TextDirection.ltr,
mainAxisAlignment: MainAxisAlignment.center, // Positionnement vertical
@Chralu
Chralu / main.dart
Last active September 19, 2022 16:03
Flutter101 - Layout row
import 'package:flutter/material.dart';
class RowDemo extends StatelessWidget {
const RowDemo({super.key});
@override
Widget build(BuildContext context) {
return Row(
textDirection: TextDirection.ltr,
mainAxisAlignment: MainAxisAlignment.center, // Positionnement horizontal
@Chralu
Chralu / main.dart
Created July 27, 2022 09:54
Flutter101 - Styled container
import 'package:flutter/material.dart';
class StyledContainer extends StatelessWidget {
const StyledContainer({super.key});
@override
Widget build(BuildContext context) {
return Container(
// Ce Container aura :
// - une couleur de fond Ambre