Skip to content

jnblanchard/tip_calc

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
ios
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 

Tip

Creating a cross-platform app is easy!

  void main() => runApp(TipCalculator());

Declare some animation to make it look cool.

  @override void initState() {
    super.initState();
    animationController = AnimationController(duration: Duration(milliseconds: 250), vsync: this);
    animation = Tween(begin: 0.0, end: 1.0).animate(animationController);
  }

  dispose() {
    animationController.dispose();
    super.dispose();
  }

Create a text entry space for tip amounts.

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        key: scaffoldKey,
        appBar: AppBar(
          title: Text( "Tip Calculator"),
        ),
        body: Align( alignment: Alignment.lerp(Alignment.topCenter, null, 0.5), child: Stack(
          fit: StackFit.loose,
          alignment: AlignmentDirectional.center,
          children: <Widget>[
            SuggestionRow(animation, false),
            SuggestionRow(animation, true),
            BillCenter(animation, bill, animationStatus, animationController, textController)
          ], ), ));
   }

Animate suggestions into view using the animation!

  @override
  Widget build(BuildContext context) {
    return InkWell(
        onTap: () {},
        child: Transform.scale(
          scale: animation.value,
          child: Transform.translate(offset: Offset(0, isBottom ? -85 : 85), child: Row(
            mainAxisSize: MainAxisSize.max,
            mainAxisAlignment: MainAxisAlignment.center,
            crossAxisAlignment: CrossAxisAlignment.center,
            children: <Widget>[
              Spacer(flex: 2),
              isBottom ? buttonWith(0.05) : buttonWith(0.25),
              Spacer(flex: 1),
              isBottom ? buttonWith(0.1) : buttonWith(0.3),
              Spacer(flex: 1),
              isBottom ? buttonWith(0.15) : buttonWith(0.35),
              Spacer(flex: 1),
              isBottom ? buttonWith(0.2) : buttonWith(0.4),
              Spacer(flex: 2)
            ],
          ))
        )
    );
  }

About

Flutter example project.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published