Skip to content

Instantly share code, notes, and snippets.

@doyle-flutter
doyle-flutter / main.dart
Created September 10, 2021 04:45
Dart 2.14 & Flutter 2.5 : Keyboard Mapping
/// Flutter code sample for Shortcuts
/// - https://api.flutter.dev/flutter/widgets/Shortcuts-class.html
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
@doyle-flutter
doyle-flutter / main.dart
Last active September 9, 2021 12:17
Dart 2.14 & Flutter 2.5 : ScrollMetricsNotification
// Doc : https://master-api.flutter.dev/flutter/widgets/ScrollMetricsNotification-class.html
import 'package:flutter/material.dart';
void main() => runApp(const ScrollMetricsDemo());
class ScrollMetricsDemo extends StatefulWidget {
const ScrollMetricsDemo({Key? key}) : super(key: key);
@override
@doyle-flutter
doyle-flutter / main.dart
Created September 9, 2021 07:02
Dart 2.14 & Flutter 2.5 : ScaffoldMessenger SnackBar & Banner
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) => MaterialApp(
home: MyHomePage(),
);
}
import 'package:flutter/material.dart';
void main() => runApp(Sys());
class FoodIngredient{
String productName;
String gramme;
FoodIngredient({required this.productName,required this.gramme});
}
@doyle-flutter
doyle-flutter / ui&logic.dart
Created August 27, 2021 03:21
ํ™”๋ฉด๊ณผ ๋กœ์ง ๋ถ„๋ฆฌ
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
debugShowCheckedModeBanner: false,
@doyle-flutter
doyle-flutter / dartclassFood02.dart
Last active August 26, 2021 13:07
๋ถ€๋Œ€์ฐŒ๊ฐœ, ๊น€์น˜์ฐŒ๊ฐœ ...
void main() {
Future(() async{
await Jjigae(
name: "๐Ÿฒ ๋ถ€๋Œ€์ฐŒ๊ฐœ",
water: FoodIngredient(productName: "์‚ฌ๊ณจ", gramme: "500g"),
vegetables: [
FoodIngredient(productName: "์–‘ํŒŒ", gramme: "30g"),
FoodIngredient(productName: "๋Œ€ํŒŒ", gramme: "30g"),
],
@doyle-flutter
doyle-flutter / dartclassFood01.dart
Created August 25, 2021 14:29
Dart ๋กœ ๋ถ€๋Œ€์ฐŒ๊ฐœ ๋“์ด๊ธฐ 01
void main() {
BudaeJjigae(
water: FoodIngredient(productName: "๋„์‹ฌ ์‚ฌ๊ณจ", gramme: "300g"),
ham: FoodIngredient(productName: "์ŠคํŒธ ์˜ค๋ฆฌ์ง€๋„", gramme: "100g"),
sausage: FoodIngredient(productName: "๋ง›์กฐ์€ ํ›„๋ž‘ํฌ์†Œ์„ธ์ง€", gramme: "10g"),
spices: [
FoodIngredient(productName: "๊ณ ์šด ์†Œ๊ธˆ", gramme: "10g"),
FoodIngredient(productName: "๊ณ ์šด ๊ณ ์ถง๊ฐ€๋ฃจ", gramme: "20g"),
FoodIngredient(productName: "๋‹ฌ ๋ฐ์€ ๊ณ ์ถ”์žฅ", gramme: "30g"),
@doyle-flutter
doyle-flutter / bookNlistNmap.dart
Created August 24, 2021 17:00
์ฑ…, ๊ทธ๋ฆฌ๊ณ  Dart
void main() {
// ์˜ค๋Š˜ 4๊ถŒ์˜ ์ฑ…์„ ์„ ๋ฌผ ๋ฐ›์•˜๋‹ค, ๋‚˜๋ฆ„ ์ •๋ฆฌ๋ฅผ ์ž˜ํ•˜๋Š”,
// ๊น”๋”ํ•œ ์‚ฌ๋žŒ์ด๋ฏ€๋กœ ๋„์ฐฉํ•œ ์ˆœ์„œ๋Œ€๋กœ ์„œ๋ž์— ์ •๋ฆฌํ–ˆ๋‹ค.
// [ Book, Book, ... Book]
List<String> books = [ "ํด๋ž€๋‹ค์Šค์˜ ๊ฐœ", "ํ•ด๋ฆฌํฌํ„ฐ-๋ถˆ์˜์ž”", "์ฝ”๋‚œ", "ํ•ด๋ฆฌํฌํ„ฐ-์•„์ฆˆ์นด๋ฐ˜์˜์ฃ„์ˆ˜" ];
// ๐ŸŽฏ
// ์ฑ…์„ ์ฝ๋˜ ์ค‘ '์ฝ”๋‚œ' ๊ฐ€ ๋ณด๊ณ  ์‹ถ์–ด์„œ
// ์„œ๋ž์—์„œ ๊ทธ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ฐพ์œผ๋ ค ํ•œ๋‹ค.
import 'package:flutter/material.dart';
void main() => runApp(Sys());
class Sys extends StatelessWidget {
const Sys({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(home: Main());
@doyle-flutter
doyle-flutter / fanim03.dart
Created August 20, 2021 11:33
Rolling&Move
import 'package:flutter/material.dart';
void main() => runApp(Sys());
class Sys extends StatelessWidget {
const Sys({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(home: Main());