Robert Moore 1ce4467321
[BottomAppBar] Add surface variant color themer. (#5068)
The BottomAppBar needs to support the "surface variant" of Material
color theming. A new method on MDCBottomAppBarColorThemer now allows
clients to apply the surface variant theme to their MDCBottomAppBarView
instances.

**Change demonstration**
These changes are not in this PR, but will be made in a follow-up PR. These screenshots are to show the before/after effect of using the new themer.

|Example|Before|After|
|--|--|--|
|Catalog (Objc)|![bab-objc-catalog-before](https://user-images.githubusercontent.com/1753199/45260529-566ae300-b3b8-11e8-95c8-a258bf95c3ca.png)|![bab-objc-catalog-after](https://user-images.githubusercontent.com/1753199/45260530-5b2f9700-b3b8-11e8-993d-449eb1c4c47e.png)|
|Dragons (Objc)|![bab-objc-dragon-before](https://user-images.githubusercontent.com/1753199/45260532-6256a500-b3b8-11e8-961e-106da28a3db2.png)|![bab-objc-dragon-after](https://user-images.githubusercontent.com/1753199/45260535-67b3ef80-b3b8-11e8-8f03-b2c808ec9b86.png)|
|Dragons (Swift)|![bab-swift-dragon-before](https://user-images.githubusercontent.com/1753199/45260537-6f739400-b3b8-11e8-8796-b94779018b63.png)|![bab-swift-dragon-after](https://user-images.githubusercontent.com/1753199/45260762-88327880-b3bd-11e8-9896-be55dd96d515.png)|

Closes #3928
2018-09-10 16:07:16 -04:00
..

App bars: bottom

A bottom app bar displays navigation and key actions at the bottom of the screen. Bottom app bars work like navigation bars, but with the additional option to show a floating action button.

A screenshot of a bottom app bar.

Overview

Bottom app bars follow a recommended Material Design interaction design pattern for providing primary and secondary actions that are easily accessible. With a bottom app bar users are more easily able to use single-handed touch interaction with an application since actions are displayed close to the bottom of the screen within easy reach of a user's thumb.

The bottom app bar includes a floating action button that is intended to provide users with a primary action. Secondary actions are available on a navigation bar that can be customized with several buttons on the left and right sides of the navigation bar. The primary action floating action button is centered on the bottom app bar by default.

MDCBottomAppBarView should be attached to the bottom of the screen or used in conjunction with an expandable bottom drawer. The MDCBottomAppBarView API includes properties that allow changes to the elevation, position and visibility of the embedded floating action button.

UIBarButtonItems can be added to the navigation bar of the MDCBottomAppBarView. Leading and trailing navigation items will be shown and hidden based on the position of the floating action button.

Transitions between floating action button position, elevation and visibility states are animated by default, but can be disabled if desired.

Installation

Usage

Extensions

Accessibility