Releases: material-components/material-components-android
1.13.0-alpha01
Dependency Updates
None
Library Updates
BottomSheet
Carousel
Catalog
Dialog
- Updated docs to have a short description of each available dialog theme overlay (0a21fe7)
Predictive Back
- Update predictive back animations to use interpolation curve of (0.1, 0.1, 0, 1) (136a685)
ProgressIndicator
- Improved cold start performance. (c153139)
- Added ramping animation to wave amplitude for both Linear and Circular types. (roll forward) (23bcd50)
- Added demos for wave effects with wave speed. (0849c14)
- Improved the smoothness of the animation when inactive track's ends are close. (2a80e16)
- Applied a workaround in Circular counter-clockwise. (e8452fb)
- Added waggle animation (wave speed) to active indicator in both Linear and Circular types. (roll forward) (b50cb1e)
- Added ramping animation to wave amplitude for both Linear and Circular types. (627d141)
- Added waggle animation (wave speed) to active indicator in both Linear and Circular types. (0f47e78)
- Added demos for wave effects. (b32512a)
- Refactored the catalogs for more demos in future. (b61ab85)
- Updated outdated string description in the catalog. (747fe8c)
- Added wavy active indicator drawing for circular type. (da108f3)
- Updated the default value of wavelength and setters of wavelength and amplitude. (e2cc0bb)
Search
TimePicker
TopAppBar
Other
- Updating library version to 1.13.0-alpha01 (51f7d5d)
Full list of changes
1.12.0-rc01
Important
Required minSdkVersion
is now 19 or higher, for Material and AndroidX (blog post).
Dependency Updates
Dependency | Previous version | New version |
---|---|---|
androidx.transition | 1.5.0-beta01 | 1.5.0-rc01 |
Library Updates
- No library updates
Full list of changes
1.12.0-beta01
Important
Required minSdkVersion
is now 19 or higher, for Material and AndroidX (blog post).
Dependency Updates
Dependency | Previous version | New version |
---|---|---|
androidx.transition | 1.5.0-alpha04 | 1.5.0-beta01 |
Library Updates
Divider
- Fixed divider instantly appearing or disappearing on insertion or removal (ef4a0c5)
Documentation
NavigationDrawer
- Fixed wrong item selected after click (a3af20a)
ProgressIndicator
- Updated inactive track color from primary container to secondary container. (c8cb0c6)
- Updated the setter of track thickness to not update track corner radius. (540f5ee)
- Added the limit to not have stop indicator size bigger than track thickness. (689e04f)
- Fixed the rounded ends overlapping bug with semi-transparent track/indicator color in Circular default style. (8167c11)
- Removed the call to draw a transparent full track. (3f80fdb)
- Flipped the canvas for different circular directions. (bcc27a3)
- Split stop indicator drawing from indicator drawing. (76207cb)
Search
- Excluded icons from search bar handwriting bounds (387f59b)
Slider
- Made tick size defaults to the stop indicator size if set (92bc02c)
- Fixed incorrect style of stop indicators near handles (d61cffd)
- Resolved issues that crash when assigning a large value to
valueTo
(4d1b9e5) - Updated the track drawing for some corner cases. (10484df)
- Fixed ripple not transparent on API 33 (cd4f618)
Tabs
- Fixed title being announced twice when there's a badge in TalkBack mode. (aaa7034)
Tokens
- Added formatting to break long lines and differentiate different comments. (857d6a2)
TopAppBar
- Use an accessibility delegate to add and perform actions (929c80f)
Transitions / Motion
Other
- Bumped minSkdVersion declarations to 19 (cc5e890)
Full list of changes
1.12.0-alpha03
Dependency Updates
- None
Library Updates
Carousel
Catalog
- Fixed flickering AppBarLayout in Navigation Rail demo (c695802)
- Updated the Search Bar demo to scroll away with content (392acf9)
- Added a ProgressIndicator demo for using multiple indicator colors in Catalog. (cd0d94e)
- Added a ProgressIndicator demo for visibility control. (5d62e9e)
- Updated the main ProgressIndicator demo in Catalog. (ba0b332)
- Removed old ProgressIndicator demos. (701d5c2)
- Fixed some lint errors (d9796eb)
Documentation
- Added a section in the Color doc for proper tonal surface color resolving. (bb35129)
- Added note about MaterialButton icon button performance and alternatives (0748414)
- Updated demos and doc to use AppBarLayout app:statusBarForeground in order to avoid overlap between SearchBar and status bar content (90d6583)
- Fixed API reference link of FloatingActionButton (90e15d8)
- Updated ProgressIndicator documentation for new Accessibility updates (7e9318e)
Predictive Back
- Animated corners during predictive back when no drawerLayoutCornerSize is set (c8b9b1c)
ProgressIndicator
- Added ActiveIndicator to improve readability. (6fd920a)
- Fixed ESCAPE animation in linear and added ESCAPE animation in circular. (98284e7)
- Updated to use the same drawing delegate object between determinate drawable and indeterminate drawable to prevent inconsistent drawings when specs update. (52b4845)
- Added missing graphics updates when spec changes. (93b3010)
- Update styles for new Accessibility updates (15b533f)
Search
- Made
searchbar_scrolling_view_behavior
string public (ce386e4)
- Made
SideSheet
- Moved the modal side sheet default width/height into style so they can be customized (3b278d7)
Slider
Release
- Updated lib version to 1.12.0-alpha03 in gradle. (a2309ce)
Full list of changes
1.11.0
Important
Elevation Overlays within default component styles have been replaced by the new Tonal Surface Color system. Instead of blending the Primary color with the Surface color based on an elevation value, components now use a specific Surface color role that can be more easily understood and customized.
Documentation for the affected components and which Surface color roles they use has been updated in 2114a11.
What's new since 1.10.0
- New Tonal Surface Color system! Check out the design guidance and the commit with documentation updates for more details.
- New Carousel variants! 1.11.0 introduces three new Carousel variants: center-aligned hero, uncontained, and fullscreen. Check out the Carousel documentation for more details.
Dependency Updates
None.
Note: Earlier versions of 1.11.0 used other versions of the androidx.activity
1.8.0 library dependency, but there is no change in the dependency from 1.10.0, the last stable MDC library version.
Library Updates
Badging
- Adjusted badge vertical offset for certain components to fit design requirements (78cc54b)
- Added note in attachBadgeDrawable method docs about menu item views being re-used when there is a structural change in the menu. Since badges are attached to the views, this may change the menu item that the badge is intended for (5e6ea58)
BottomNavigationView
- Set badges to be null instead of removing them from the sparse array so that removing badges before restoring badge states will not override the current state (9f2e686)
BottomSheet
- Fix sheet corners animation (de27132)
Carousel
- Ensure that extra small size is not larger than the large size (17baf71)
- Fixed crash when recyclerview has a size of zero. (26c3129)
- When navigating with keyboard, scroll focused item to nearest focal keyline, not the first focal keyline (fb9c1c6)
- Force hero strategy to be start-aligned if there are not enough items to make it center-aligned (9a2347b)
- Add logic for multibrowse strategy to change strategy when number of items is less than the number of keylines (cbb380d)
- Fixed focus order when using keyboard navigation for hero carousels. (0356f24)
- Cleaning up multi-browse strategy and removing compact arrangement (ed4647d)
- Disallowing center aligned hero strategy with only 2 items since it does not make any sense. With only 2 items there can only be a start state and end state with the hero strategy. (d5d604d)
- Fix issue with uncontained carousel not having a proper end scroll value due to assumption made in end scroll calculation (8cb444b)
- Added tests for hero and multibrowse strategies when the carousel container is very small. (8312162)
- Update scroll offset to scroll to the estimated position that it was at upon an initial load (4a6ae4d)
- Fixed strategies crashing when there is not enough available space for a large and a small item (c418063)
- Tweak uncontained strategy logic to adjust medium size items to improve motion (93660d4)
- Fixed formatted for KeylineState and KeylineStateList (b80d9a5)
- Fixed keyline shifting in RTL for uncontained carousels (7151714)
- Reduce the number of truncations in intermediate calculations (4ce7e4c)
- Update vertical scroll speed to be faster (c6ea2d4)
- Fix some a11y bugs in Carousel (3d84841)
- Center aligned uncontained carousel (b6f6eb5)
- Add left-aligned uncontained strategy (9d81cac)
- Fix orientation not correct in item decoration calculations (966f7da)
- Update mask size on size change if mask x percentage has been set (dc91b39)
- Fix issue with next carousel item not being masked properly (a16f180)
- Add a layout listener to recyclerview to refresh keyline state upon size change (ff52862)
- Remove default list from Carousel catalog demos as it is not an example of a carousel (0171624)
- Add carousel alignment attribute (547156e)
- Fix issue with not refreshing keylines (674ec44)
- Fixed MaskableFrameLayout not updating mask after size change when setting the mask using setMaskXPercentage. (14023d2)
- Adding docs for fullscreen carousel strategy (7c40359)
- Add fullscreen demo to catalog (ad6afbf)
- Add full screen strategy (bc54f2e)
Catalog
- Use BottomSheetDialogFragment (2c53952)
- Update navigation drawer state handling to be more accurate in demo (74ac87c)
- Update navigation drawer state handling to be more accurate in custom drawer demo (1252d4f)
- When bottom sheet is collapsed, back callback is enabled (98439df)
- Update side sheet state handling to be more accurate in demos (357cf2d)
- Update bottom sheet state handling to be more accurate in demos (f9102c7)
- Fixed demos in RTL (4e1b130)
- Make side sheet demo icon easier to see in dark mode (79a1953)
- Remove explicit Catalog dependency on androidx.activity now that library depends on it (3bb69f5)
- buid.gradle update. (4847799)
- Remove edge-to-edge to top app bar demos due to glitches in ActionBar demo (c40e468)
- Update slider position when carousel is scrolled in uncontained carousel demo (480bbc6)
- Applied edge-to-edge to top app bar demos (aa5b5bc)
- Add uncontained carousel demo to catalog (ef9f918)
- Update slider position when carousel is scrolled in catalog demos (3652fde)
- Applied edge-to-edge to bottom sheet in Carousel demo (6c2dd5d)
- Fix fullscreen vertical carousel to use vertical dividers (af7d09a)
- Add alignment option to hero carousel (7cfd30f)
Chip
- Fix a typo in attributes table in documentation (7289aa6)
CollapsingToolbarLayout
Color
- Delete unused contrast resources (541df07)
- Updated focused and pressed state from 0.12 to 0.10 to increase the contrast ratio with tonal surface color. (bc824b4)
- Updated colors of container transform demo (d16f223)
- Add ColorStateListDrawable support (0663019)
- Removed layered drawable for the background after tonal surface color. (b5d6f1a)
- Upgraded to v0.170 for tonal surface colors. (8204856)
- Update constructor comments (ba465a2)
Divider
- Add RTL support (6b897c6)
Documentation
- Add note to clarify that automatic back handling in components is only for API 33+ (ad2b5f8)
- Update Predictive Back doc to recommend 1.10.0 stable version (b8b1a66)
- Update doc to explain how to allow Top App Bar to grow taller in response to system font setting (a01a68d)
- Fix carousel docs (247240c)
- Add uncontained variant docs (9ee4aba)
- Minor code block improvements (d7e75bb)
- Add guidance in fullscreen strategy docs about portrait orientation (caec8d2)
- Update chip documentation to use
setOnCheckedStateChangeListener
instead ofsetOnCheckedChangeListener
which was deprecated in favour of the former (0582b1a) - Up...
1.12.0-alpha02
Important
Required minSdkVersion
is now 19 or higher, for Material and AndroidX (blog post).
Dependency Updates
Dependency | Previous version | New version |
---|---|---|
androidx.transition | 1.2.0 | 1.5.0-alpha04 |
Library Updates
Carousel
- Added documentation recommending snapping for multi-browse strategy (9e64a1f)
Catalog
Checkbox
- Updated string translations for checkbox, search, and sidesheet (198e08c)
MaterialAutoCompleteTextView
- Enabled switch access in MaterialAutoCompleteTextView. (14a7b40)
NavigationRail
ProgressIndicator
- Added static drawable for Circular type when system animator is disabled. (22e054b)
Slider
- Fixed slider label not moving while scrolling (144b515)
TextInputLayout
- Limited the min height reset in text change listener only when line count changes. (9b9449c)
Transitions / Motion
- Added predictive transition support for fragments and views to the Material motion library, and enabled it in shared axis fragment transition demo. (8ccec33)
Full list of changes
1.11.0-rc01
Important
Elevation Overlays within default component styles have been replaced by the new Tonal Surface Color system. Instead of blending the Primary color with the Surface color based on an elevation value, components will now use a specific Surface color role which can be more easily understood and customized.
Documentation for the affected components and which Surface color roles they use has been updated in 2114a11.
Dependency Updates
- None
Library Updates
Gradle
- Update library version to 1.11.0-rc01 (8bf55e7)
Full list of changes
1.12.0-alpha01
Important
Required minSdkVersion
is now 19 or higher, for Material and AndroidX (blog post).
Dependency Updates
- None
Library Updates
Gradle
Carousel
- Add attributes to change small item size (92a5444)
CollapsingToolbarLayout
- Fix text shadow fading when transitioning between expanded and collapsed states (7674e12)
Dialog
- Unified scrim opacity in Material themes/theme overlays. (f3e4439)
Documentation
- Updated color table to color values for v34. (5055507)
Material 3
- Update Shape Theming bottom sheet text color (8ca016f)
MaterialDatePicker
- Fix date validation on Samsung devices (5aa6edf)
ProgressIndicator
- Internal changes (bc59873)
Slider
TextInputLayout
- Fixed unnecessary min height when losing focus with multiple lines. (4a2654a)
Theming
- Add NoActionBar dynamic color themes (81d1b77)
Tokens
TopAppBar
- Fixed compress effect clipping on API 21-24 (2ac8c1c)
i18n
- Update translated strings (a8307ef)
Full list of changes
1.11.0-beta01
Important
Elevation Overlays within default component styles have been replaced by the new Tonal Surface Color system. Instead of blending the Primary color with the Surface color based on an elevation value, components will now use a specific Surface color role which can be more easily understood and customized.
Documentation for the affected components and which Surface color roles they use has been updated in 2114a11.
Dependency Updates
Dependency | Previous version | New version |
---|---|---|
androidx.activity | 1.8.0-beta01 | 1.8.0 |
Library Updates
Badging
- Adjust badge vertical offset for certain components to fit design requirements (78cc54b)
- Add note in attachBadgeDrawable method docs about menu item views being re-used when there is a structural change in the menu. Since badges are attached to the views, this may change the menu item that the badge is intended for (5e6ea58)
Carousel
- Ensure that extra small size is not larger than the large size (17baf71)
- Fixed crash when recyclerview has a size of zero. (26c3129)
- When navigating with keyboard, scroll focused item to nearest focal keyline, not the first focal keyline (fb9c1c6)
- Force hero strategy to be start-aligned if there are not enough items to make it center-aligned (9a2347b)
- Add logic for multibrowse strategy to change strategy when number of items is less than the number of keylines (cbb380d)
- Fixed focus order when using keyboard navigation for hero carousels. (0356f24)
- Cleaning up multi-browse strategy and removing compact arrangement (ed4647d)
- Disallowing center aligned hero strategy with only 2 items since it does not make any sense. With only 2 items there can only be a start state and end state with the hero strategy. (d5d604d)
- Fix issue with uncontained carousel not having a proper end scroll value due to assumption made in end scroll calculation (8cb444b)
- Added tests for hero and multibrowse strategies when the carousel container is very small. (8312162)
- Update scroll offset to scroll to the estimated position that it was at upon an initial load (4a6ae4d)
- Fixed strategies crashing when there is not enough available space for a large and a small item (c418063)
Catalog
CollapsingToolbarLayout
- Fix issue where expanded text gets ellipsized too aggressively when using title fade mode and the toolbar has menu items (094e3e2)
Color
Documentation
MaterialCardView
- Support
android:duplicateParentState
. (31af945)
- Support
MaterialDatePicker
Predictive Back
Search
TextInputLayout
Tokens
- Upgraded to v0.175. (bfee8a7)
Other
- Update androidx.activity dependency to version 1.8.0 (733fe20)
Full list of changes
1.10.0
What's new since 1.9.0
- Added Predictive back support for search, bottom sheet, side sheet and navigation drawer. Check out the developer documentation for more details.
- Add
Start-aligned
variant to Carousel component. Check out the developer documentation for more details. - Badge component updates. Check out the developer documentation for more details.
- Left & RTL side sheets. Check out the developer documentation for more details.
Important
New minimum requirements for your app's project:
- Update
compileSdkVersion
to34
Known Issues
- Version 1.10.0 the Material library depends on AppCompat version 1.6.1, which can trigger an issue with Activity Transitions on Android 14 (see #3644 and http://issuetracker.google.com/issues/300310597 for more details).
Dependency Updates
Dependency | Previous version | New version |
---|---|---|
Gradle | 7.2.0 | 7.4.2 |
androidx.activity | -- | 1.8.0 |
androidx.appcompat | 1.5.0 | 1.6.1 |
androidx.resourceinspection:resourceinspection-annotation | -- | 1.0.1 |
androidx.resourceinspection:resourceinspection-processor | -- | 1.0.1 |
Library Updates
A11y
- Do not count headers for accessibility (917da52)
Badging
- Deprecate bottom badge gravities and update docs and usages in catalog (27abfdb)
- Add new attribute for vertical offset when font is large (2362f4b)
- Fix table formatting and remove unnecessary badge invalidation (44a97f4)
- Fix crash caused by non-ascii strings (532b65d)
- Badge cleanup/fixes: (4d50aa4)
- Add attribute to automatically adjust badge so that it is within the anchor view's grandparent view's bounds (b706506)
- Add getters/setters for vertical and horizontal badge padding (a0d0b53)
- Allow text strings in badges (c1ef52b)
- Center badge content more correctly (fc0de1b)
- Add padding in between top and bottom edges of badge and text (8499b83)
- Integrating tokens (68c844c)
- Add shape appearance for badges (2ddcfe4)
- Update badge images (c1eba1b)
BottomAppBar
BottomNavigationView
- Integrate tokens and add shape appearance support (7bd9724)
BottomSheet
- Fix sheet corners animation (a5ff190)
- Update bottom sheet documentation (af1fa70)
- Integrate tokens (86cd9d7)
- Add method to allow programmatically changing shouldRemoveExpandedCorners behavior (c8a0d47)
- Update expanded corner removal to check if sheet view is actually at top of screen (1c01e82)
- Fix for detached from bottom sheet behavior. (9c4b73d)
- Ignore ACTION_MOVE events in BottomSheetBehavior that weren't preceded by an ACTION_DOWN event. (d8c01c1)
Carousel
- Add orientation helper to clean up CarouselLayoutManager orientation differences (7822ef8)
- Update docs to include hero variant (ec509cc)
- Add vertical scrolling capability (6b48d3b)
- Deprecate set/get mask x percentages in Maskable as they are no longer used anywhere, and is a misleading method due to these methods not actually having any effect on the Carousel as CarouselLayoutManager overrides the values. (29d8742)
- Ensure that masks are pushed out beyond the parent bounds if they are on the parent bounds (9486de5)
- Carousel updates and fixes (16c1575)
- Fix contained mask logic to only update masks when it is still in view, and remove restrictions on mask size with childWidth/2F. The only restriction is that the right of the mask must be greater than the left of the mask. (7d6a977)
- Fixed multi browse strategy clipping extra small items before being fully collapsed (85b6d50)
- Add Carousel Hero strategy demo (b57dae5)
- Add Hero carousel strategy (340cd44)
- Add option for snapping with multi-browse carousel demo (26c3779)
- Add CarouselSnapHelper (8938da8)
- Refactor to reuse logic between different Carousel strategy classes (1c27404)
- Fix item masking for API 21 (7bc26e5)
- Updated MultiBrowseCarouselStrategy to find best arrangments using a cost function (0184b5b)
- Fixed mutli-browse catalog demo crashing due to invalid position slider values. (5bc7a50)
- Add support for transitions by forcing canvas clipping when detaching from the window. (93ceb7e)
- Updated MaskableFrameLayout to use Outline path clipping on 33+ only. (43c5077)
- Updated setForceCompatClipping visibility for testing. (3856af1)
- Updated MaskableFrameLayout to clip more performantly. (733c9e0)
- Changed Maskable.add/removeOnMaskChangedListener to Maskable.setOnMaskChangedListener. (359580b)
- Fixed child index bug causing items to be ordered incorrectly. (9d0732b)
Catalog
- Update side sheet state handling to be more accurate in demos (4442635)
- Update bottom sheet state handling to be more accurate in demos (386d47b)
- Update to compileSdkVersion 34 and update catalog to use androidx.activity:activity:1.8.0-alpha05 (2336c23)
- Fixed catalog errors for some demos. (4c3e1d5)
- Fixes context menu are not themed on S (33e4f84)
Checkbox
- Fixed checkmark icon not updating color on error correctly in pre 21. (62aa802)
Chip
Color
- Temporarily remove v34 Android U color references which could be causing resource NotFoundExceptions (2a1a67f)
- Fixed lint error. (824d75e)
- Integrate container color token (206928b)
- Made SearchBar and SearchView's container colors configurable in XML style. (cf006c5)
- Added U color resources for contrast mode support. (93f386c)
Dialog
Documentation
ExposedDropdownMenu
- Added attribute to set dropdown menu's container. (1562d0b)
FloatingActionButton
- Correctly handle min touch target size (d6f36e8)
Material 3
- Remove resources loader support for tonal surface update (dfd9bfb)
- Fix harmonization demo bug (836c51e)
- Updated content-based dynamic colors (e9b485d)
- Update Color doc (d7f9a06)
- Updated content-based dynamic colors (a511501)
- Adds Search class definition link to Search documentation. (e157608)
- Added ColorContrast API (a6cf098)
- Updated content-based dynamic with contrast levels (b335436...