Skip to content

Instantly share code, notes, and snippets.

View letsar's full-sized avatar
🦋
Flutter forever

Romain Rastel letsar

🦋
Flutter forever
View GitHub Profile
@override
Widget build(BuildContext context) {
return AnimatedBuilder(
builder: _buildAnimation,
animation: controller,
);
}
Widget _buildAnimation(BuildContext context, Widget child) {
return Container(
child: SkewTransition(
skew: skewTransform1,
child: SkewTransition(
skew: skewTransform2,
child: Container(
width: _kActionSize * 4,
height: 256.0,
color: Colors.black87,
const _kDuration = const Duration(milliseconds: 4000);
const _kActionSize = 64.0;
const _kCount = 3;
const _kAnimInterval01 = const Interval(.00, .30);
const _kAnimInterval02 = const Interval(.00, .30);
const _kAnimInterval03 = const Interval(.30, .60);
const _kAnimInterval04 = const Interval(.60, .90);
Tween<Offset>(
begin: Offset(-1.0, 0.0),
end: Offset(0.0, 0.0),
).animate(
CurvedAnimation(
parent: controller,
curve: Interval(.30, .60),
),
),
const _kAnimInterval01 = const Interval(.00, .30);
const _kAnimInterval02 = const Interval(.00, .30);
const _kAnimInterval03 = const Interval(.30, .60);
const _kAnimInterval04 = const Interval(.60, .90);
const _kAnimInterval05 = const Interval(.60, .90);
/// Animates the skew of transformed widget.
class SkewTransition extends AnimatedWidget {
/// Creates a skew transition.
///
/// The [skew] argument must not be null.
const SkewTransition({
Key key,
@required Animation<double> skew,
this.child,
}) : super(key: key, listenable: skew);
import 'dart:async';
import 'package:flutter/material.dart';
const _kDuration = const Duration(milliseconds: 4000);
const _kActionSize = 64.0;
const _kCount = 3;
const _kAnimInterval01 = const Interval(.00, .30);
const _kAnimInterval02 = const Interval(.00, .30);
const _kDuration = const Duration(milliseconds: 2000);
const _kAnimInterval03 = const Interval(.00, .90);
...
Widget _buildAnimation(BuildContext context, Widget child) {
return Container(
child: Container(
width: _kActionSize * 4,
height: 256.0,
color: Colors.black87,
child: Center(
const _kDuration = const Duration(milliseconds: 2000);
const _kAnimInterval03 = const Interval(.00, .90);
...
Widget _buildAnimation(BuildContext context, Widget child) {
return Container(
child: Container(
width: _kActionSize * 4,
height: 256.0,
color: Colors.black87,
child: Center(
Container container = Container();