1. 03 Feb, 2016 4 commits
    • Adam Barth's avatar
      Merge pull request #1531 from abarth/raw_keyboard_crash · 421cd7c2
      Adam Barth authored
      RawKeyboardListener asserts if disposed without keyboard
      421cd7c2
    • Adam Barth's avatar
      RawKeyboardListener asserts if disposed without keyboard · 12507d1b
      Adam Barth authored
      We need to check whether we're attached to the keyboard before trying to
      detach from the keyboard.
      12507d1b
    • Hans Muller's avatar
      Merge pull request #1540 from HansMuller/new_toolbar · 58156e18
      Hans Muller authored
      AppBar extensions for Scaffold et al
      
      Add support for the appbar behavior described in the "Flexible space with image" section of https://www.google.com/design/spec/patterns/scrolling-techniques.html#scrolling-techniques-scrolling.
      
      For now, an "AppBar" is a toolbar, a toolbar and a tabbar arranged in a column, or a toolbar and flexible space widget arranged in a stack with the toolbar on top. The AppBar occupies the space behind the status bar, i.e. its origin is at the top of the screen.
      
      The Scaffold listens for scroll notifications from a Scrollable descendant identified by scrollableKey. Scrolling downwards from the top causes the Scaffold to shrink its appBar's height from appBarHeight to 0. Scrolling downwards when the appBar isn't visible causes its toolbar to reappear. Applications can specify the flexibleSpace - essentially the appbar's background - with a WidgetBuilder. The contents of the flexible space can track the appbar's relative height with Scaffold.of(context).appBarAnimation, an animation that's 0.0 when the appbar is fully visible and 1.0 when it has disappeared.
      
      Added FlexibleSpaceBar to simplify building a flexible space widget that animates a title and a background image per the Material Design spec.
      
      To enable the new behavior, specify the following Scaffold properties:
      
      ```
      return new Scaffold(
        appBarHeight: appBarHeight,
        scrollableKey: scrollableKey,
        appBarBehavior: AppBarBehavior.scroll,
        ...
      )
      ```
      
      AppBarHeight should be greater than kToolBarHeight. Typically it will be much greater.
      
      ScrollableKey identifies the Scrollable that the Scaffold will track.
      
      AppBarBehavior.scroll indicates that the appbar will resize in response to scrolling.
      
      The Scrollable must be a descendant of the Scaffold body and must specify the same scrollableKey as well as a padding value that accounts for the appbar's height. For example:
      
      ```
        body: new ScrollableViewport(
          key: scrollableKey,
          child: new Padding(padding: new EdgeDims.only(top: appBarHeight)
          ...
         )
      ```
      
      Also:
      - Added scrollableKey and scrollablePadding to MaterialList. They're applied to the ScrollableList child.
      - Fixed the padding support in ScrollableList.
      - Added a foregroundAlpha property to ToolBar. It controls the opacity of the icon and text themes' colors.
      - Removed the toolbar's "bottom" widget property. Use the flexibleSpace WidgetBuilder instead.
      58156e18
    • Hans Muller's avatar
      Add support for the appbar behavior described in the "Flexible space with... · 6bc65e03
      Hans Muller authored
      Add support for the appbar behavior described in the "Flexible space with image" section of https://www.google.com/design/spec/patterns/scrolling-techniques.html#scrolling-techniques-scrolling.
      6bc65e03
  2. 02 Feb, 2016 16 commits
  3. 01 Feb, 2016 12 commits
  4. 31 Jan, 2016 8 commits