mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
* 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.
103 lines
3.9 KiB
Dart
103 lines
3.9 KiB
Dart
// Copyright 2015 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
/// Flutter widgets implementing Material Design.
|
|
///
|
|
/// To use, import `package:flutter/material.dart`.
|
|
///
|
|
/// See also:
|
|
///
|
|
/// * [flutter.io/widgets](https://flutter.io/widgets/)
|
|
/// for a catalog of commonly-used Flutter widgets.
|
|
/// * [material.google.com](https://material.google.com/)
|
|
/// for an introduction to Material Design.
|
|
library material;
|
|
|
|
export 'src/material/about.dart';
|
|
export 'src/material/animated_icons.dart';
|
|
export 'src/material/app.dart';
|
|
export 'src/material/app_bar.dart';
|
|
export 'src/material/arc.dart';
|
|
export 'src/material/back_button.dart';
|
|
export 'src/material/bottom_app_bar.dart';
|
|
export 'src/material/bottom_navigation_bar.dart';
|
|
export 'src/material/bottom_sheet.dart';
|
|
export 'src/material/button.dart';
|
|
export 'src/material/button_bar.dart';
|
|
export 'src/material/button_theme.dart';
|
|
export 'src/material/card.dart';
|
|
export 'src/material/checkbox.dart';
|
|
export 'src/material/checkbox_list_tile.dart';
|
|
export 'src/material/chip.dart';
|
|
export 'src/material/circle_avatar.dart';
|
|
export 'src/material/colors.dart';
|
|
export 'src/material/constants.dart';
|
|
export 'src/material/data_table.dart';
|
|
export 'src/material/data_table_source.dart';
|
|
export 'src/material/date_picker.dart';
|
|
export 'src/material/debug.dart';
|
|
export 'src/material/dialog.dart';
|
|
export 'src/material/divider.dart';
|
|
export 'src/material/drawer.dart';
|
|
export 'src/material/drawer_header.dart';
|
|
export 'src/material/dropdown.dart';
|
|
export 'src/material/expand_icon.dart';
|
|
export 'src/material/expansion_panel.dart';
|
|
export 'src/material/expansion_tile.dart';
|
|
export 'src/material/feedback.dart';
|
|
export 'src/material/flat_button.dart';
|
|
export 'src/material/flexible_space_bar.dart';
|
|
export 'src/material/floating_action_button.dart';
|
|
export 'src/material/floating_action_button_location.dart';
|
|
export 'src/material/flutter_logo.dart';
|
|
export 'src/material/grid_tile.dart';
|
|
export 'src/material/grid_tile_bar.dart';
|
|
export 'src/material/icon_button.dart';
|
|
export 'src/material/icons.dart';
|
|
export 'src/material/ink_decoration.dart';
|
|
export 'src/material/ink_highlight.dart';
|
|
export 'src/material/ink_ripple.dart';
|
|
export 'src/material/ink_splash.dart';
|
|
export 'src/material/ink_well.dart';
|
|
export 'src/material/input_border.dart';
|
|
export 'src/material/input_decorator.dart';
|
|
export 'src/material/list_tile.dart';
|
|
export 'src/material/material.dart';
|
|
export 'src/material/material_localizations.dart';
|
|
export 'src/material/mergeable_material.dart';
|
|
export 'src/material/outline_button.dart';
|
|
export 'src/material/page.dart';
|
|
export 'src/material/paginated_data_table.dart';
|
|
export 'src/material/popup_menu.dart';
|
|
export 'src/material/progress_indicator.dart';
|
|
export 'src/material/radio.dart';
|
|
export 'src/material/radio_list_tile.dart';
|
|
export 'src/material/raised_button.dart';
|
|
export 'src/material/refresh_indicator.dart';
|
|
export 'src/material/scaffold.dart';
|
|
export 'src/material/scrollbar.dart';
|
|
export 'src/material/shadows.dart';
|
|
export 'src/material/slider.dart';
|
|
export 'src/material/slider_theme.dart';
|
|
export 'src/material/snack_bar.dart';
|
|
export 'src/material/stepper.dart';
|
|
export 'src/material/switch.dart';
|
|
export 'src/material/switch_list_tile.dart';
|
|
export 'src/material/tab_controller.dart';
|
|
export 'src/material/tab_indicator.dart';
|
|
export 'src/material/tabs.dart';
|
|
export 'src/material/text_field.dart';
|
|
export 'src/material/text_form_field.dart';
|
|
export 'src/material/text_selection.dart';
|
|
export 'src/material/theme.dart';
|
|
export 'src/material/theme_data.dart';
|
|
export 'src/material/time.dart';
|
|
export 'src/material/time_picker.dart';
|
|
export 'src/material/toggleable.dart';
|
|
export 'src/material/tooltip.dart';
|
|
export 'src/material/two_level_list.dart';
|
|
export 'src/material/typography.dart';
|
|
export 'src/material/user_accounts_drawer_header.dart';
|
|
export 'widgets.dart';
|