Releases: material-components/material-components-android
1.12.0-alpha01
Important
Required minSdkVersion is now 19 or higher, for Material and AndroidX (blog post).
Dependency Updates
- None
Library Updates
GradleCarousel- 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)
SliderTextInputLayout- Fixed unnecessary min height when losing focus with multiple lines. (4a2654a)
Theming- Add NoActionBar dynamic color themes (81d1b77)
TokensTopAppBar- 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)
CatalogCollapsingToolbarLayout- Fix issue where expanded text gets ellipsized too aggressively when using title fade mode and the toolbar has menu items (094e3e2)
ColorDocumentationMaterialCardView- Support
android:duplicateParentState. (31af945)
- Support
MaterialDatePickerPredictive BackSearchTextInputLayoutTokens- 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-alignedvariant 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
compileSdkVersionto34
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)
BottomAppBarBottomNavigationView- 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)
ChipColor- 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)
DialogDocumentationExposedDropdownMenu- 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...
1.10.0-rc01
Important
New minimum requirements for your app's project:
- Update
compileSdkVersionto34
Dependency Updates
| Dependency | Previous version | New version |
|---|---|---|
| androidx.activity | 1.8.0-beta01 | 1.8.0-rc01 |
Library Updates
-
Predictive Back- [Catalog][Bottom Sheet] Update bottom sheet state handling to be more accurate in demos (f9102c7)
- [Catalog][Side Sheet] Update side sheet state handling to be more accurate in demos (357cf2d)
- [Search] Fix issue where modal accessibility is not reset after collapsing search view predictively (8d83a31)
-
Gradle- Update androidx.activity dependency to version 1.8.0-rc01 (2cfb127)
Full list of changes
1.11.0-alpha03
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-alpha06 | 1.8.0-beta01 |
Library Updates
BottomSheet- Fix sheet corners animation (de27132)
Carousel- 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)
Catalog- 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)
CollapsingToolbarLayout- Fixed title collapse fade mode color to use a Tonal Surface role instead of elevation overlay (5f2b4b2)
ColorDocumentation- 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
setOnCheckedStateChangeListenerinstead ofsetOnCheckedChangeListenerwhich was deprecated in favour of the former (0582b1a) - Update example in docs to use
colorContainerandcolorOnContainerinstead ofcolorPrimaryandcolorOnPrimary. (44bfe2d) - Updated Color dev doc with tonal surface colors. (9a4c21d)
- Updated dev doc for tonal surface colors in affected components. (2114a11)
Material 3MaterialDatePickerNavigationView- Set material drawable background if the background has been set as a ColorStateList (eba40e9)
Predictive Back- Fix issue where modal accessibility is not reset after collapsing search view predictively, which caused the screen to appear frozen when using TalkBack (8d83a31)
Switch- Fix drawable scaling for API < 23 (a10c508)
Tabs- Integrated divider token output into the background drawables. (6b627c2)
TextInputLayout- Mutate cursor drawable before tinting it. (9a4888f)
TopAppBar- Simplified logics to animate the container color between lifted state and the default state. (1e9f5f0)
- Fix dynamic status bar foreground lift on scroll color when using Tonal Surface Color on API Level 33 (c4ae01a)
- Fix dynamic status bar foreground lift on scroll color when using Tonal Surface Color (569ddac)
- Fixed that liftOnScrollColor doesn't respect to setLifted when liftOnScroll is set to false. (43242f2)
- Added liftOnScroll and lifted toggles to the catalog. (4e995d1)
Other
Full list of changes
1.10.0-beta01
Important
New minimum requirements for your app's project:
- Update
compileSdkVersionto34
Dependency Updates
| Dependency | Previous version | New version |
|---|---|---|
| androidx.activity | 1.8.0-alpha06 | 1.8.0-beta01 |
Library Updates
Color- Remove resources loader support for tonal surface update (dfd9bfb)
BottomSheet- Fix sheet corners animation (a5ff190)
Full list of changes
1.10.0-alpha06
Important
New minimum requirements for your app's project:
- Update
compileSdkVersionto34
Dependency Updates
- No dependency updates.
Library Updates
Predictive BackMaterialSwitch- Amendments to thumb icon size support (3abb658)
Search- Enforced outline variant to use colorSurface as container color. (cbbd50d)
Full list of changes
1.11.0-alpha02
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
- No dependency updates.
Library Updates
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)
Carousel- 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)
- Add carousel alignment attribute (547156e)
- Fix issue with not refreshing keylines (674ec44)
- Fix MaskableFrameLayout not updating mask after size change when setting the mask using setMaskXPercentage. (14023d2)
- Adding docs for fullscreen carousel strategy (7c40359)
CatalogChip- Fix a typo in attributes table in documentation (7289aa6)
Divider- Add RTL support (6b897c6)
DocumentationColor- Token upgrade to v0.170 for tonal surface colors. (8204856)
- Update dev docs for tonal surface colors in affected components. (2114a11)
- Add default framework text colors (d3dda60)
- Update contrast documentation (1d3b8e1)
- Add shift to dynamic colors allowlist (fde37cf)
- Expose attr contrastColorThemeOverlay (839b14c)
- Update constructor comments (ba465a2)
Predictive BackProgressIndicator- Allows extending LinearProgressIndicator and CircularProgressIndicator (3b0fd58)
SearchSideSheetSwitch- Amendments to thumb icon size support (db9a641)
Theming- Fix swapped error colors for dynamic contrast theme in light mode (f2ccc11)
TopAppBarSnackbar- Consistently use window coordinates to calculate Snackbar offsets. In one place screen and window coordinates are mixed, which leads to bad behavior in split screen apps. (57b2663)
Other
Full list of changes
1.11.0-alpha01
1.10.0-alpha05
Important
New minimum requirements for your app's project:
- Update
compileSdkVersionto34
Dependency Updates
| Dependency | Previous version | New version |
|---|---|---|
| androidx.activity | 1.8.0-alpha05 | 1.8.0-alpha06 |
Library Updates
A11y- Do not count headers for accessibility (917da52)
BadgingCarousel- Added orientation helper to clean up CarouselLayoutManager orientation differences (7822ef8)
- Updated docs to include hero variant (ec509cc)
- Added vertical scrolling capability (6b48d3b)
- Deprecated 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)
Predictive Back- Fixed custom predictive back implementations and update
androidx.activitydependency to1.8.0-alpha06. (722b936) - Fixed MaterialBackAnimationHelper.onCancelBackProgress being called twice. (ad60bbf)
- Fixed possible NaN crashes in MaterialBottomContainerBackHelper, MaterialMainContainerBackHelper and MaterialSideContainerBackHelper. (122c296)
- Fixed custom predictive back implementations and update
Text Field- TextInputEditText misses some visible lines in CursorAnchorInfo#getVisibleLineBounds after scrolled (bdef355)