Releases: material-components/material-components-android
Releases · material-components/material-components-android
1.5.0-alpha03
Dependency Updates
Dependency | Previous version | New version |
---|---|---|
compileSdkVersion | 30 | 31 |
targetSdkVersion | 29 | 31 |
annotation | 1.0.1 | 1.2.0 |
Library Updates
Highlight: Early access preview of Material 3
This release includes a preview of the new Material library.
New Material 3 themes and many updated component styles have been added. More to come in future releases!
Important:
- Make sure to update your app's
compileSdkVersion
to 31 when using this version of the library. - If using the new
DynamicColors.java
util class to apply dynamic colors on Android 12, make sure to update your app to depend on AndroidX Core version 1.6.0 or later (e.g.,androidx.core:core:1.6.0
) (#2353).
Changes
Material 3
(new!)- Create M3 themes (27757d0)
- Create M3 Top App Bar styles (18490ff)
- Create M3 Bottom Navigation (Navigation Bar) styles (999b247)
- Create M3 regular FAB styles (b06977b)
- Create M3 large FAB styles (ca8f4cb)
- Create M3 Extended FAB styles (6ba1a92)
- Create M3 Button styles (6bfa584)
- Create M3 Chip styles (7f597a7)
- Create M3 Tabs styles (60782a5)
- Create M3 Bottom App Bar styles (167b198)
- Create M3 Date Picker styles (2901012)
- Create M3 Time Picker styles (a1d09ac)
- Create M3 Menu styles (0998e9d)
- Create M3 Switch styles (906fb2d)
- Create M3 Checkbox styles (4e0d5b0)
- Create M3 Radio Button styles (a342adc)
- Create M3 Text Field styles (edbc4e1)
- Create M3 Slider styles (0064aa1)
- Create M3 Card styles (e5fb9d1)
- Create M3 Badge styles (786e6b5)
- Create M3 Tooltip styles (a7cb1f0)
- Create M3 Divider styles (fabb5ea)
- Split dynamic color token resources into values-v31 (8357c9a)
- Chip style updates (492e37f)
- Update Color dev doc to M3 (687505e)
- Create SurfaceColors class in M3 (27e7b00)
- Reorganize styles (ebacf79)
- Reorganize resources. (f2eaf0c)
- Use colorPrimary for elevation overlay color for both baseline and dynamic (1cf724b)
- Integrated Tokens shape resources. (585fd8d)
- Integrated Tokens motion resources. (083f01d)
- Integrated Tokens state layer resources. (d1fb3f9)
- Integrated Tokens elevation resources. (3caa9cd)
- Integrated Tokens system resources. (293457c)
- Integrated Tokens color system resources. (0995f99)
- Create dynamic color support in M3 (febe257)
- Fixed collapsing toolbar collapsed title text appearance (cb74134)
- Update Font catalog demo to use new typescale. (7bcb917)
- Updated text appearance mappings (a461de5)
- Fixed styling in themes due to bad merge (0c6f435)
- Updated ref colors, background/surface color, and error color. (23c9f27)
- Updated colorPrimaryDark to point to colorPrimary (f428f20)
- Set up elevation overlays and colors in themes + theme overlays (b9e5797)
- Removed disabled color theme attrs (17a459a)
- Create M3 ripple alpha resources (04b06ae)
- Update compileSdkVersion to 31 - Android S (40509dc)
- Add new typography system TextAppearance styles and set attrs in theme. (baf55ec)
- Define new typography system theme attributes. (beb51dc)
- Define new color system theme attributes (1ed1c29)
- Update Dark dialog theme to have correct dark dynamic color theme overlay (c369128)
- Updated some Catalog demo references to Material3 styles (e776908)
- Update Catalog naming to Material 3 (ae20031)
- Update Catalog theme(s) to Material3 and fix Material3 date/time picker theme overlays (5d940f1)
Documentation
TextInputLayout
TimePicker
AppBarLayout
- Make it possible to disable app bars' shadow (a682ab0)
Tabs
CollapsingToolbarLayout
- Fix expanded height incorrect after rotation (ec3f96c)
Catalog
Theming
- Add isMaterial3Theme attr and set to true in 4 main Material3 themes (8670643)
Badging
- Move badge assets into directory to be consistent with other components, and delete unused image (760effb)
Chip
- Remove duplicate line (f80b866)
MaterialButton
- Material button lollipop shape fix (153fdee)
Other
Full list of changes
1.5.0-alpha02
Library Updates
BottomSheet
MaterialCardView
Chip
Slider
- Fix minSeparation having no effect when stepSize > 0 (2d589bd)
BottomAppBar
Other
- Version 1.5.0-alpha02 (0e5c393)
- Updated some string translations for date picker, time picker, and text field (57e3bc0)
- Fixed the transparent strip drawn at the ends of the indicator. (a55f3b8)
- Added null check in requestAnimatorAfterCurrentCycle for disjoint indeterminate animator. (456abd5)
- Fixed the transparent strip drawn at the ends of the indicator. (f9f57d7)
- Add setLiftableOverrideEnabled() method to allow toggling between automatic and manual setLifted() behavior (e2c911b)
- Updated setLifted() to preserve lifted state if using setLiftable() programmatically (67f9e9d)
- Apply the max width/height during measure instead of modifying layout params (9fb73b5)
- Internal change (cbf7bca)
- Added listener for when lift on scroll background elevation and color change (3008d78)
- Modify updateAppBarLayoutDrawableState logic to only require a child at an offset for conditions that depend on that child. For conditions that can be determined just based on the AppBarLayout, always check those conditions. (3eea607)
- Added support for statusBarForeground lift on scroll elevation overlay for edge to edge mode and updated demo (aaa0444)
- Fix ViewDragHelper state inconsistency (a2e7673)
- Fix styles and attrs references in documentation (27b99ed)
Catalog
- Small updates to music player demo. (cc4a604)
Transitions / Motion
- Fix NPE when removing window background (b51692d)
MaterialDatePicker
- Date selector hint incorrectly localized (47868d8)
Documentation
- Fix typo (4229145)
1.5.0-alpha01
Dependency Updates
Dependency | Previous version | New version |
---|---|---|
compileSdkVersion | 29 | 30 |
androidx.core | 1.2.0 | 1.5.0 |
Library Updates
- New
Divider
component (Docs) Transitions / Motion
BottomSheet
BottomAppBar
MaterialButton
- Updated Material Button style to set the preferred maximum width to 320dp. (c5c7a74)
BottomNavigationView
Documentation
TextInputLayout
- Apply tint when setting start icons (4044183)
- Do not load default drawable if custom end icon is being used (717774e)
- Make clear text icon focusable (8a4f42a)
- [Documentation][TextInputLayout] (336042d)
- Added a fade transition to placeholder TextView's appear and disappear. (c92e693)
- Fixed cutout padding so text field outline doesn't overlap collapsed hint. (87b50c6)
Badging
MaterialDatePicker
TimePicker
MaterialShapeDrawable
- Move static paint initialization to static block (b8c9f49)
ProgressIndicator
- Added the OnAnimationEndListener adder and remover for spring animation used in determinate drawable. (cd5c2cc)
- Fix NPE caused by animatorCompleteCallback not set (f732070)
- Enabled switch from indeterminate mode to determinate mode while visible. (209bad3)
- Fix first animated progress update issue. (f968731)
Snackbar
Chip
- Fix icon tint states are not updated after setting new icon (c08a07d)
FloatingActionButton
- Updated documentation for RTL support (9a603aa)
Slider
Tabs
- Redraw indicators after their color is updated (e92ebde)
CollapsingToolbarLayout
- Added option to add extra height when title text spans across multiple lines (655dde0)
- Added option to force always applying system window inset top regardless of layout_height (9ebf1a1)
- Fixed multiline RTL collapsed title text position (af35dfb)
- Added experimental setRtlTextDirectionHeuristicsEnabled() method (ae82585)
- Added support for expanded and collapsed title text color attributes (5c14772)
- Fixed RTL text only laying out as RTL when actual text is RTL (841f229)
- Updated fade mode to allow expanded title to translate 1:1 with scrolling content. (c754183)
- Added title line spacing and hyphenation frequency setters (f0ce498)
- Added getLineCount() method (be85a92)
- Added support for multiline RTL when using fade title mode (f0ac362)
- Updated default multiline hyphenation frequency to StaticLayout.HYPHENATION_FREQUENCY_NORMAL (3ad232d)
- Fixed multiline animation for fade title collapse mode (5a35bf7)
Catalog
- Make card view demo paddings aligned with spec (65e99d0)
- Remove theme switcher implementation (415ed74)
- Fix system navigation bar demo (2a23ef4)
- Replace theme switchers with preferences screen (ce84b58)
- Add shape corner size preference to preferences screen (6e7be60)
- Add shape preference to preferences screen (832e43f)
- Implement app preferences mechanism in Catalog (3aa76da)
- Refactored fab demos to improve alignment (9886810)
- Added Navigation Rail demos to catalog. (401a5a8)
- Removed full width button style and related dialog themes. Updated catalog dialog demo to showcase how to create dialogs with full width buttons. (95da705)
- Update dialog main demo fragment to allow subclasses to override the theme overlay resources used in the demo. (15daf58)
- Updated Catalog demo to show full width buttons in dialogs. (633ef0d)
Other
- update library version to 1.5.0-alpha01 (4b9148c)
- Update inset handling for Navigation Rail & Bottom Nav (501ef8e)
- Fix progress indicator is not shown when set as the icon (456f135)
- Updated documentation (48a5826)
- Update
@SuppressWarnings
annotations for go/nullness diagnostics (ed719b2) - Updated navigationIconTint implementation to mutate drawable to prevent tinting drawable globally (e334332)
- Adding android:textColor support (7adfd93)
- Fix title fade mode collapsing title position errors. (0ef2e91)
- Added a TextAppearanceConfig.shouldLoadFontSynchronously() check to allow forcing synchronous font loading for edge cases (9b92fd8)
- Updated androidx.core dependency from 1.5.0-rc01 to 1.5.0 stable (ea2b0bc)
- Fix catalog preference state restoring issue (967745a)
- Fix test missing assertion (265055f)
- Added manual constructor for ElevationOverlayProvider. (43cfc05)
- Added elevation overlay accent color option (2c557b6)
- Update compile sdk version to 30 (5c0b8d6)
- Added compress scroll effect. (586d554)
- Updated TextAppearance to load font synchronously if its cached. Also updates lib to depend on 1.5.0-rc01 for the ResourcesCompat#getCachedFont method. (0ad429d)
- Added dimen resource for op...
1.4.0
What's new since 1.3.0
Other highlights
- Support for centered titles in
MaterialToolbar
(cbf528e) - Max width for
MaterialButton
s (eb5453c) - Max width for
BottomSheet
s (63d01aa) - Updated edge-to-edge support for
BottomSheet
(c15139a) (b163458) (c574e9e) (28c3254) TextField
's collapsed hint background no longer overlap with the field's background color (6015a4e)
Dependency Updates
Dependency | Previous version | New version |
---|---|---|
compileSdkVersion | 29 | 30 |
androidx.core | 1.2.0 | 1.5.0 |
Full list of changes
1.4.0-rc01
Dependency Updates
Dependency | Previous version | New version |
---|---|---|
androidx.core | 1.5.0-rc01 | 1.5.0 |
Library Updates
CollapsingToolbarLayout
TextAppearance
- Added a TextAppearanceConfig.shouldLoadFontSynchronously() check to allow forcing synchronous font loading for edge cases. (4e45c2c)
Full list of changes
1.4.0-beta01
Compile SDK Version changed to API 30.
Dependency Updates
Dependency | Previous version | New version |
---|---|---|
androidx.core | 1.2.0 | 1.5.0-rc01 |
Library Updates
NavigationBarView
- Moves OnNavigationItem listeners to the NavigationBarView class (0ad4a8d)
TextInputLayout
- Fixed cutout padding so text field outline doesn't overlap collapsed hint. (1c7b75f)
MaterialButton
- Updated Material Button style to set the preferred maximum width to 320dp. (eb5453c)
Documentation
- Improving navigation rail documentation. (dabdef9)
CollapsingToolbarLayout
- Updated fade mode to allow expanded title to translate 1:1 with scrolling content. (1445e6d)
- Added title line spacing and hyphenation frequency setters (3ea60e6)
- Fixed multiline animation for fade title collapse mode (a29c93a)
- Updated default multiline hyphenation frequency to StaticLayout.HYPHENATION_FREQUENCY_NORMAL (2c45dcc)
- Added support for multiline RTL when using fade title mode (ffef9f6)
- Added getLineCount() method (c9f7a61)
BottomAppBar
- change cornersize to float to avoid truncation errors (7ffa571)
BottomSheet
Other
Full list of changes
1.4.0-alpha02
Dependency Updates
- No dependency updates.
Library Updates
Catalog
- Updated catalog to showcase header view inside a Navigation Rail View. (6a37a55)
- Updated catalog to demonstrate navigation rail in compact style. (ae8b185)
- Updated Navigation Rail catalog demo to showcase a colored navigation rail with animated icons. (4ff1440)
- Updated Navigtaion Rail catalog demo to showcase label visibility mode and menu gravity. (6cd0737)
- Updated catalog demo to showcase navigation rail component. (547979e)
Other
- Increment mdcLibraryVersion to 1.4.0-alpha02 (9bae8a7)
- API Fixes (fed90a9)
- Added setTheme api in builder to support passing theme via builder (6416467)
- Fixed javadoc formatting issue for lerp function (06993c8)
- Updated navigation rail documentation to update images and related example code. (b8ed2da)
- Added support for centering title and subtitle (cbf528e)
- Update packaging.yaml (a9a493f)
BottomSheet
ProgressIndicator
- Move canvas to the middle of the bounds, rather than by half the width/height. (dca33e3)
CollapsingToolbarLayout
Documentation
Transitions / Motion
- Updated FadeThroughProvider to allow customization of the fade through threshold. (5d65278)
TextInputLayout
BottomAppBar
- Support fab with rounded corners in cradle (ef8ad4d)
Badging
- Fix badge offset bug when attached and detached from a menu item on a toolbar. (948738e)
MaterialButtonToggleGroup
- Fixed issues with uncheck and check methods (ffb2ad1)
Full list of changes
1.4.0-alpha01
Library Updates
NavigationRail
- Added Navigation Rail component to the library. (e13610e) 🎉
- Added documentation for navigation rail view component. (853c695)
- Fixed spacing issue between destination icon and label. (585e0ff)
- Fixed issue that caused navigation rail to show label for active destination in compact mode. (1c872e8)
- Fixed issue that caused destination views to be smaller than the rail width. (42a19ab)
- Extracted common logic from bottom navigation component into navigation package. (aca5bfb)
BottomSheet
- Prevent adding half expanded accessibility action if fitToContents is true (2933600)
- Automatically enable insets for ThemeOverlay style (c15139a)
- Added flag to opt in to edge to edge behavior rather than only relying on the navigationBarColor (c574e9e)
- Updated the way BottomSheet handles insets (b163458)
Documentation
ProgressIndicator
- Updated "indicatorSize" in CircularProgressIndicatorSpec to be never less than twice of "trackThickness". (1fb57bc)
- Fixed NPE while setting progress in the indeterminate mode after inflation. (7a9e3f6)
- Fixed visibility bug in RecyclerView. (5910955)
- Fixed not hidden when committed hiding is interrupted by window hiding (i.e., home button pressed). (196116f)
- Fixed determinate drawable not fully shown when switched from indeterminate mode for the second time in SDK 19/21/23. (712f5f3)
- Fixed indeterminate animation not playing after inflation/being visible in SDK 21. (86b70d7)
- Updated linear indeterminate animation. (fdb420f)
- Updated circular indeterminate animation. (2163e3d)
- Added other predefined styles in document. (2a6715f)
- Fixed incorrect visibility when used in the recycler view. (9ccad21)
- Renamed indeterminateAnimationType enums "seamless" and "spacing". (e5375fc)
- Removed unnecessary style attributes from catalog. (80b5cf6)
- Added sized styles for circular type. (4ab8cb1)
- Corrected comments for javadoc. (3795197)
- Updated track thickness used in standalone demo as 2.5 dp. (968fb19)
- Renamed some attributes. (9d7ae04)
- Hid AnimatorDurationScaleProvider from API. (5ff62d3)
Transitions / Motion
- Updated documentation to include motion theming (3d4a341)
- Added theming to MaterialFadeThrough transition. (655caed)
- Added theming to MaterialSharedAxis transition. (478b412)
- Added theming to MaterialFade transition. (8e79c7e)
- Changed motionPath theme attr format to enum|string (7e578e4)
- Applied easing, duration, and path theme attributes to MaterialContainerTransform (5154eea)
- Added easing, duration, and path theme attributes, as well as utilities to read them (186d5ed)
Catalog
- Make demo links use minHeight instead of specifying height so they won't be truncated at large font sizes. (a8156be)
TimePicker
- Fixed issues when re-using dialog instance (11169ce)
- Changed clock face size to be dynamic (bf0d11b)
- Fixed numbers glitching on first show of time picker (74350de)
- Fixed text input mode to correctly restore state (76cf0eb)
- Added dev docs (3eddfb9)
- Renamed ThemeOverlay.MaterialComponents.MaterialTimePicker to ThemeOverlay.MaterialComponents.TimePicker to be more consistent with other time picker styles (4af9eab)
- Changed text input view to a view stub (cbef0d3)
- Removed hint setting (074ed18)
- Use MaterialColors to correctly read CSLs with theme attributes (9f79157)
- Make default theme overlay public (890b727)
Slider
- Improve listener documentation (1f76fcc)
CollapsingToolbarLayout
- Updated CollapsingToolbarLayout to support framework android.widget.Toolbar (<Toolbar) (036cff7)
Snackbar
TextInputLayout
MaterialDatePicker
Other
1.3.0
What's New Since 1.2.1?
New Components
More Library Updates
- Internationalization and localization of strings within components: date picker, time picker, bottom sheet, text field, chip, badge, and dialog
- Badging support for
Toolbar
menu items via experimentally exposedBadgeUtils
class MaterialContainerTransform
now supports additional interpolators—OvershootInterpolator
,AnticipateOvershootInterpolator
,BounceInterpolator
, and any subclasses- Show/hide
Slider
tick marks in discrete mode - Shape theming in
NavigationView
- A getter method to check if an
AppBarLayout
is lifted - Elevation overlay support in
Chip
s - Initial show animation in
ExtendedFloatingActionButton
- Flipped password icon behavior in
TextInputLayout
- Updated
BottomNavigationView
menu item selection animation to match spec - Updated
Snackbar
dimens to match spec - Support for content padding in
ShapeableImageView
ShapeableImageView
no longer has a default shape appearance- Better support for system gesture nav insets in
BottomSheetBehavior
Dependency Updates
Dependency | Previous version | New version |
---|---|---|
constraintlayout | 1.1.3 | 2.0.1 |
Full list of changes
1.2.1...1.3.0
1.3.0-rc01
Dependency Updates
- No dependency updates.
Library Updates
TimePicker
MaterialDatePicker
ProgressIndicator
- Fixed NPE while setting progress in the indeterminate mode after inflation. (c78c1ef)
- Fixed the visibility bug in RecyclerView. (e9fcdf0)
- Fixed not hidden when committed hiding is interrupted by window hiding (i.e., home button pressed). (814ce6d)
- Fixed determinate drawable not fully shown when switched from indeterminate mode for the second time in SDK 19/21/23. (04ae5d7)
- Fixed indeterminate animation not playing after inflation/being visible in SDK 21. (46d8fba)
- Updated linear indeterminate animation. (1ff2d6a)
- Updated circular indeterminate animation. (4dd1d84)
Full set of changes: 1.3.0-beta01...1.3.0-rc01