30 Commits

Author SHA1 Message Date
dniz
9ae3538d6e Mark Shapes APIs as experimental
PiperOrigin-RevId: 191444301
2018-04-03 12:09:59 -04:00
dniz
910961412d Move Snackbar classes and resources from widget/internal to snackbar package
PiperOrigin-RevId: 191070265
2018-04-03 12:04:39 -04:00
dniz
0bc8f38d8a Automated g4 rollback of changelist 190996602
PiperOrigin-RevId: 191011241
2018-04-03 12:03:30 -04:00
dniz
85b2b08aec Move Snackbar classes and resources from widget/internal to snackbar package
PiperOrigin-RevId: 190996602
2018-04-03 12:02:29 -04:00
cketcham
a87d71a4ae Move components out of widget
PiperOrigin-RevId: 190828084
2018-04-03 11:55:32 -04:00
dniz
ade4df00cb Change Gradle build to output single Maven artifact
PiperOrigin-RevId: 190774454
2018-04-03 11:49:01 -04:00
gauthams
8dbb9b24a2 Add snackbarButtonStyle attribute
PiperOrigin-RevId: 188410794
2018-03-12 12:57:07 -04:00
Material Design Team
1bd0b7f129 Automated g4 rollback of changelist 187953030
PiperOrigin-RevId: 187959742
2018-03-12 12:54:16 -04:00
gauthams
b7d57944ef Add snackbarButtonStyle attribute
PiperOrigin-RevId: 187953030
2018-03-12 12:54:01 -04:00
afohrman
644c3d77bd Implement pared down version of Flexbox.
Remove dependency on flexbox to avoid pulling in the entire library.

PiperOrigin-RevId: 186699263
2018-03-12 12:49:22 -04:00
Material Design Team
c9e56c9959 Create a new default style for NavigationView and move the existing Design style to new package.
PiperOrigin-RevId: 185658659
2018-03-12 12:39:42 -04:00
afohrman
613eaea7be Add icon size attribute and demo to bottom nav.
Adds an itemIconSize attribute, setters, getters, and tests to BottomNavigationView, as well as a Catalog demo for icon size with a slider.

PiperOrigin-RevId: 185609075
2018-03-12 12:39:06 -04:00
gauthams
df0abdb151 Automated g4 rollback of changelist 184658131
PiperOrigin-RevId: 184894533
2018-03-12 12:37:05 -04:00
Material Design Team
0534bfb96a Automated g4 rollback of changelist 184611618
PiperOrigin-RevId: 184658131
2018-03-12 12:35:05 -04:00
gauthams
f602bc975f Update button to support tinting and backwards compatibility with AppCompatButton
PiperOrigin-RevId: 184611618
2018-03-12 12:34:13 -04:00
markwei
84fd72dc03 Rollback changes to BaseTransientBottomBar.
PiperOrigin-RevId: 184595279
2018-03-12 12:33:16 -04:00
dniz
d001961fdf Fix ThemeEnforcement Gradle build
PiperOrigin-RevId: 184185845
2018-03-02 15:39:20 -05:00
markwei
2e2c348e6f Add new enforceMaterialTheme attribute that you can set in any style to denote that the style uses a new attribute that must exist in the app theme.
Update ThemeEnforcement to read this new attribute, and check for Material theme.
Change the ThemeEnforcement API to replace Context#obtainStyledAttributes().

See followup CL for how this attribute is used.

PiperOrigin-RevId: 184074635
2018-03-02 15:36:20 -05:00
dniz
c31ef1f1d7 Update Gradle and Maven configurations
PiperOrigin-RevId: 183872033
2018-03-02 14:58:51 -05:00
afohrman
ed039479e5 Create package for text field resources.
This commit creates a textfield package for resources related to text fields. It does not move TextInputLayout to this package, since that would break current users.

There's a small unrelated change included in this move: drawable-v21/design_bottom_navigation_item.xml was not moved along with its compat counterpart when it was moved recently, so I moved it while I was moving things around.

PiperOrigin-RevId: 183101110
2018-01-25 18:23:54 -05:00
travisc
04bf0a7c42 Move themes into theme package, invert dependency structures around components.
Previously [most of] the components were either in `widget` or depended on it,
and all theme-related resources (attributes, styles, etc.) were placed there.
This structure doesn't really work for our goals, and makes it harder to split
components by functional area. In this commit, I move all the theme definitions
to `theme` (as well as `dialog` and `bottomsheet` since they also have relevant
themes, and splitting them into separate packages is the only way to make the
dep tree non-circular). Component packages declare their own theme attributes
(e.g. `chip` declares all the theme attributes necessary for chips), as well as
styles, colors, dimens, drawables, etc.

This move isn't entirely complete in this commit, but it is enough to get
things building with this setup. I'll move the rest of the components' resources
in follow-up commits.

PiperOrigin-RevId: 182611275
2018-01-25 18:12:31 -05:00
gauthams
51dc22478a Initialize BottomNavigationMenuView correctly in BottomNavigationPresenter
PiperOrigin-RevId: 182432827
2018-01-25 18:11:27 -05:00
afohrman
ec18befe2d Delete shifting mode in favor of label visibility mode.
PiperOrigin-RevId: 182431135
2018-01-25 18:10:56 -05:00
afohrman
1967141098 Add active text appearances to bottom nav.
To support different font weights and other text attributes for active and inactive TextViews, the bottom nav now takes two separate text appearances, one for the active TextView, and one for the inactive TextView. This creates more complexity for how the ColorStateList for textColor is handled, and there were a couple of alternatives considered, but this seems to be the most elegant solution to a unique set of requirements.

The text size attributes introduced in the last commit are deleted. They were only necessary as an interim solution for text sizes, to keep the active and inactive labels from jumping to the wrong sizes.

PiperOrigin-RevId: 182054036
2018-01-16 16:15:01 -05:00
afohrman
b12f4dee49 Add text sizing capabilities to bottom nav.
Open an itemTextAppearance attribute and two attributes for active and inactive label sizes to allow customizing the label text sizes.

The Widget.MaterialComponents.BottomNavigationView styles now defaults to AppCompat's Caption sizing (12sp) for both the active and inactive label sizes.

PiperOrigin-RevId: 181399525
2018-01-11 11:24:31 -05:00
afohrman
15fa53bb6d Remove field prefixes from internal.
PiperOrigin-RevId: 181202757
2018-01-11 11:13:07 -05:00
afohrman
e65c6f9587 Remove early returns from if statements in BottomNavigationMenuView.
This also fixes a lint warning to use braces with if statements.

PiperOrigin-RevId: 181198188
2018-01-11 11:12:44 -05:00
travisc
1ef167edc2 Move ThemeUtils to internal package and rename to ThemeEnforcement.
This is a first step in reversing the dependency flow around the `theme`
package in MDC. In a future commit, I'll make theme contain all the various
MaterialComponents theme definitions, and it will thus depend on the various
packages containing our components (widget, button, toggle, etc.).

The theme package will be empty as of this commit, but since I plan to use it
in the next one I've left the build infrastructure in place.

PiperOrigin-RevId: 180737806
2018-01-11 11:09:46 -05:00
travisc
b7fb904d18 Make internal its own package.
This gives internal its own res directory, and pushes the build files down into
the source directory (as it is with all our other non-widget packages). Ideally
new things don't really get added to this package (instead they can be added to
feature/component-specific packages as package private). A few new packages had
to be created in order to break circular dependencies between widget and
internal.

This commit also fixes a number of problems with the Gradle build, as they were
mostly related to dependency issues or things not being included in
settings.gradle.

The next step here is to do the same for the widget package, and turn the lib
build files into something that just exports the other library packages.

PiperOrigin-RevId: 179866428
2018-01-11 10:58:06 -05:00
travisc
ab2fec6da4 Move lib/src/ to lib/java/, and lib/jvmtests/javatests/ to lib/javatests/.
Bazel is happier if Java/Java test roots are named 'java' and 'javatests', and
this will mean that once we create a BUILD file for
android/support/design/{widget,internal}/ we'll no longer need a custom package
specified in our build (which tends to cause build problems that manifest quite
weirdly). This commit doesn't attempt to refactor the build at all yet, and is
just a pure move.

PiperOrigin-RevId: 178060739
2018-01-11 10:50:18 -05:00