• David Shuckerow's avatar
    Add support for placing the FAB in different positions (#14368) · dd0acea1
    David Shuckerow authored
    * Add support to move the fab between positions.
    
    * Motion demo for the FAB works between center and end floating.
    
    * Add a Material curve to the offset animation.
    
    * Move the fab position into an object
    
    * Updates to docs
    
    * Updates to docs
    
    * Fix a lint on the bottom sheet type
    
    * Add a ScaffoldGeometry class
    
    * Improve the documentation
    
    * Improve the documentation
    
    * Add a fab motion animator
    
    * Add position and scale animations
    
    * FAB entrance and motion animations work
    
    * Get started on FAB motion
    
    * Make fab animation work properly.
    
    * Change the fab animator to be stored in the state of the scaffold.
    
    * Add a layout test
    
    * Fix spacing being off
    
    * Fix the entrance/exit animation test.
    
    * Add a textDirection to the layout delegate.
    
    * Fix const constructor lint checks
    
    * Add toStrings for the fab positioner/animator
    
    * Add a toString for CurveTween
    
    * Change the fab motion demo icon to a simple add icon.
    
    * Add tests and a custom fab positioner to the demo.
    
    * Do not start the fab's motion animation when the fab is null.
    
    * Adjust the code to pass the new tests.
    
    * Rename for in response to Hans' comment.
    
    * Revert the tabs fab demo
    
    * Use timeDilation, and clean up the animation code a little.
    
    * Clean up the prelayout geometry docs and ctr order
    
    * Cleanup fab transition widget code
    
    * Clean up comments on Scaffold, add cross-references between the two geometries
    
    * Explain the fab motion animation scheduling better
    
    * Add a const to the fab motion demo
    
    * Make the fab animation never jank by keeping track of where to move the fab to in the future.
    
    * Add a default fab positioner constant
    
    * Add space after comma in the demo
    
    * Add boilerplate dartdoc to all const constructors
    
    * Comment improvement
    
    * Rename 'fabSize' to 'floatingActionButtonSize'
    
    * Rename 'fabSize' to 'floatingActionButtonSize'
    
    * Rename 'fabSize' to 'floatingActionButtonSize'
    
    * Clean up the prelayout geometry object's dartdoc
    
    * Clean up the prelayout geometry object's dartdoc
    
    * Remove extraneous comment
    
    * Change possessive uses of Scaffold's to use dartdoc-compatible [Scaffold]'s
    
    * Rename the horizontalFabPadding to an expansion
    
    * Clean up controller cleanup and setState usage
    
    * Animate instead of lerp
    
    * Make the fab position animation use offsets instead of animations
    
    * Streamline the fab motion demo
    
    * Set up the animator to start from a reasonable place when interrupting animations.
    
    * Doc cleanup on the new animation interruption
    
    * Expand some uses of fab and clean up constants
    
    * Expand remaining public uses of fab to floating action button
    
    * Expand remaining public uses of fab to floating action button
    
    * Expand on the documentation for the fab positioner and animator
    
    * Refactor animations to broadcast the position properly.
    
    * Add the ability to turn on and off the fab to the motion demo.
    
    * Remove unused code
    
    * Change the fab animator to animate even when the fab is exitting.
    
    * Remove extra positioner.
    
    * Apps -> Applications in docs
    
    * Explain the scale animation.
    
    * Name the child parameter in the animated builder
    
    * RTL before LTR
    
    * Wrap the AppBar in the example code
    
    * const the fab motion demo name
    
    * Start a test against animation jumps
    
    * Test for jumps in the fab motion animation
    
    * Dont initialize values to null
    
    * Use constants, fix spacing from some of Hans' comments
    
    * Clarify the relationship between fab positioners and prelayout geometries
    
    * Explain the fab animmator a bit better
    
    * Explain the animation progress in the fab animation
    
    * Explain the animation restart better
    
    * Explain the animation restart better
    
    * Explain the prelayout geometry better
    
    * Explain that height is a vertical distance.
    
    * Explain the horizontal fab padding
    
    * Update the scaffold size description to explain what happens when a wild keyboard appears
    
    * Remove print statements
    
    * Update the scaffold geometry with information about it being available at paint time.
    
    * In one step of a transition
    
    * Explain how the top-start fab positioner works
    
    * Explain how the top-start fab positioner works
    
    * Refactor the scaffold layout to just pass a padding instead of a bottom, top, start and end.
    
    * Refactor the scaffold layout to just pass a padding instead of a bottom, top, start and end.
    
    * Action buttons with with custom positioners.
    
    * Add a rotation animation example.
    
    * Use a swap animation to show swapping between two different animations.
    
    * Use a swap animation to show swapping between two different animations.
    
    * Add an example for the size animations.
    
    * 2018 copyright
    
    * Extra empty line
    
    * Return new Scaffold
    
    * Extra blank line fix
    
    * All its contents have been laid out
    
    * Position the fab
    
    * Explain what the scaffold geometry is for.
    
    * Move asserts to different lines
    
    * The scaffoldsize will not
    
    * Initial rename of FabPositioners to FloatingActionButtonLocation
    
    * Rename comments in example to refer to location instead of positioner.
    
    * Rename fabpositioner to location in tests and in the scaffold field
    
    * Finish removing references to positioner in scaffold code.
    
    * Split the fab location and animation out into a separate file.
    
    * Make things more private
    
    * Import foundation instead of meta
    
    * Const curve instead of final.
    dd0acea1
material.dart 3.87 KB