Skip to content

Instantly share code, notes, and snippets.

View brianegan's full-sized avatar

Brian Egan brianegan

View GitHub Profile
---
title: Fade a widget in and out
prev:
title: Animate the properties of a container
path: /docs/cookbook/animation/animated-container
next:
title: Add a drawer to a screen
path: /docs/cookbook/design/drawer
---
import 'package:flutter/material.dart';
void main() => runApp(SnackBarDemo());
class SnackBarDemo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'SnackBar Demo',
home: Scaffold(
import 'dart:math';
import 'package:flutter/material.dart';
void main() => runApp(AnimatedContainerApp());
class AnimatedContainerApp extends StatefulWidget {
@override
_AnimatedContainerAppState createState() => _AnimatedContainerAppState();
}
@brianegan
brianegan / main.dart
Created October 24, 2019 15:59
Shows how to use the shimmer package to render a horizonal list of items
import 'package:flutter/material.dart';
import 'package:shimmer/shimmer.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
@brianegan
brianegan / main.dart
Created October 23, 2019 08:37
Provider example
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
class Counter extends ChangeNotifier {
int value;
Counter([this.value = 0]);
void increment() {
value++;
@brianegan
brianegan / bloc_test.dart
Created October 15, 2019 08:22
Demonstrates how to test bloc streams
import 'dart:async';
import 'package:bloc/bloc.dart';
import 'package:mockito/mockito.dart';
import 'package:test/test.dart';
enum CounterEvent { increment, decrement }
class CounterBloc extends Bloc<CounterEvent, int> {
@override
@brianegan
brianegan / bloc_test.dart
Created October 15, 2019 08:20
Demonstrates how to test a bloc's stream
import 'dart:async';
import 'package:bloc/bloc.dart';
import 'package:mockito/mockito.dart';
import 'package:test/test.dart';
enum CounterEvent { increment, decrement }
class CounterBloc extends Bloc<CounterEvent, int> {
@override
@brianegan
brianegan / bloc_test.dart
Created October 15, 2019 08:07
An example of how to test bloc streams and ideas to make it simpler
import 'dart:async';
import 'package:bloc/bloc.dart';
import 'package:mockito/mockito.dart';
import 'package:test/test.dart';
enum CounterEvent { increment, decrement }
class CounterBloc extends Bloc<CounterEvent, int> {
@override
@brianegan
brianegan / future_widget_test.dart
Created August 16, 2019 13:37
Demonstrates how to Mock Futures in Widiget tests to check the various expected ouputs depending on the loading / success / error state of the Future
// This is a basic Flutter widget test.
//
// To perform an interaction with a widget in your test, use the WidgetTester
// utility that Flutter provides. For example, you can send tap and scroll
// gestures. You can also use WidgetTester to find child widgets in the widget
// tree, read text, and verify that the values of widget properties are correct.
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter/material.dart';
void main() {
runApp(TabBarDemo());
}
class TabBarDemo extends StatefulWidget {
@override
_TabBarDemoState createState() => _TabBarDemoState();
}