Skip to content

Releases: material-components/material-components-android

1.11.0-alpha02

14 Aug 21:00
Compare
Choose a tag to compare

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)
  • Catalog
    • Remove default list from Carousel catalog demos as it is not an example of a carousel (0171624)
    • Apply 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)
  • Divider
  • Documentation
    • Crosslink github docs in javadocs (e3b255b)
    • Cross-reference m.io and DAC in Github docs (1785bbf)
  • Color
    • 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 Back
    • Fix IllegalStateException crashes caused by MaterialBackAnimationHelper. (02dc779)
    • Fixed UnsupportedOperationException AnimatorSet crash in SearchView. (f101532)
  • ProgressIndicator
    • Allows extending LinearProgressIndicator and CircularProgressIndicator (3b0fd58)
  • Search
    • Enforce outline variant to use colorSurface as container color. (720998d)
    • Add support to set a default content description if a content description is not set explicitly. (c15a323)
  • SideSheet
    • Add left sheet/sheet edge documentation. (d440e3c)
    • Fix mixed language snippet (f91f17b)
  • Switch
    • Amendments to thumb icon size support (db9a641)
  • Theming
    • Fix swapped error colors for dynamic contrast theme in light mode (f2ccc11)
  • TopAppBar
    • Add getMaterialShapeBackground() to return a MaterialShapeDrawable object of the background (non-lifted layer). (c7a0adf)
    • Update the handling of liftOnScrollColor not override android:background. (2b476b3)
  • Snackbar
    • 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
    • Updating library version to 1.11.0-alpha02 (c04eaba)
    • Delete BackLayer component (4c89301)
    • Stop running Robolectric tests on APIs < 19. (0a6a8a9)
    • Fix corrupt gradle jar file. (ed9b541)
    • Upgrade Gradle to 7.6.2. (04c0582)

Full list of changes

1.11.0-alpha01...1.11.0-alpha02

1.11.0-alpha01

05 Jul 20:19
Compare
Choose a tag to compare

Dependency Updates

  • No dependency updates.

Library Updates

  • Carousel
    • Add fullscreen demo to catalog (ad6afbf)
    • Add full screen strategy (bc54f2e)
  • Color
    • Add dynamic contrast support (862a7e1)
  • TimePicker
    • Fix layout getting cut on narrow screens (d10201d)

Full list of changes

1.10.0-alpha05...1.11.0-alpha01

1.10.0-alpha05

29 Jun 16:40
Compare
Choose a tag to compare

Important

New minimum requirements for your app's project:

  • Update compileSdkVersion to 34

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)
  • Badging
    • Deprecated bottom badge gravities and update docs and usages in catalog (27abfdb)
    • Added new attribute for vertical offset when font is large (2362f4b)
  • Carousel
    • 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.activity dependency to 1.8.0-alpha06. (722b936)
    • Fixed MaterialBackAnimationHelper.onCancelBackProgress being called twice. (ad60bbf)
    • Fixed possible NaN crashes in MaterialBottomContainerBackHelper, MaterialMainContainerBackHelper and MaterialSideContainerBackHelper. (122c296)
  • Text Field
    • TextInputEditText misses some visible lines in CursorAnchorInfo#getVisibleLineBounds after scrolled (bdef355)

Full list of changes

1.10.0-alpha04...1.10.0-alpha05

1.10.0-alpha04

15 Jun 18:18
Compare
Choose a tag to compare

Important

New minimum requirements for your app's project:

  • Update compileSdkVersion to 34

Dependency Updates

Dependency Previous version New version
compileSdkVersion android-UpsideDownCake 34
androidx.activity - 1.8.0-alpha05
androidx.resourceInspectionAnnotation - 1.0.1
androidx.resourceInspectionProcessor - 1.0.1
org.jetbrains.kotlin:kotlin-bom - 1.8.22

Library Updates

  • BottomSheet
    • Updated bottom sheet documentation (af1fa70)
  • Carousel
    • Ensure that masks are pushed out beyond the parent bounds if they are on the parent bounds (9486de5)
    • Carousel updates and fixes (16c1575)
    • Fixed 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)
    • Added Carousel Hero strategy demo (b57dae5)
    • Added Hero carousel strategy (340cd44)
  • Dialog
    • Updated DialogWhenLarge theme to have correct parent theme (dae89b7)
  • Documentation
    • Revised version guidance for Search usage. (0bcb570)
  • Material 3
    • Fixed harmonization demo bug (836c51e)
    • Updated Color doc (d7f9a06)
    • Updated content-based dynamic colors (a511501)
  • MaterialButton
    • Set up Android Studio resource inspection annotation and annotation processor, and add @Attribute annotation to MaterialButton#getIconPadding (2b5c75f)
  • MaterialDatePicker
    • Allow client app to access user selected inputMode (4d80434)
  • NavigationRail, BottomNavigationView, NavigationView
    • Add itemTextAppearanceActiveBoldEnabled attr (022e217)
  • NavigationRail
    • Added bigger padding in between items on the navigation rail when font scale is large so there is more room for the badges when they are forced inside the view bounds (8b016a0)
  • Predictive Back
    • Updated components to use BackEventCompat (a67a885)
    • Made MaterialMainContainerBackHelper collapsedView optional (fb56ab4)
    • Fixed issue on Android U where clicking SearchView back button causes SearchBar to disappear and back arrow animation to not run (e69a324)
    • Dev doc updates (82a91c8, 47c307d)
  • SideSheet
    • Fixed SideSheetDialog documentation class definition and source links (e4d0fd3)
    • Aligned close affordance and title text along the baseline rather than the top. (7a3f30b)
    • Mapped close affordance to ?attr/colorOnSurfaceVariant in catalog. (7ee0b72)
    • Added links to class definitions in Side Sheet documentation and revised version guidance. (d005ad7)
    • Changed side sheet child containers in Catalog from LinearLayouts to FrameLayouts. (690cd5d)
    • Changed side sheet title text appearance to Title Large. (a0d4fa0)
  • TimePicker
    • Fixed crash when clicking OK/Cancel/Icon on text input mode due to hiding keyboard (1fcde2c)
  • Other
    • Updated to compileSdkVersion 34 and update catalog to use androidx.activity:activity:1.8.0-alpha05 (2336c23)
    • Fix kotlin version alignment (fc6f0a2)
    • Update library version to 1.10.0-alpha04 (9123e4f)
    • Replaced BuildCompat#isAtLeastU() method calls with explicit SDK checks for UPSIDE_DOWN_CAKE. (f2e70d2)

Full list of changes

1.10.0-alpha03...1.10.0-alpha04

1.10.0-alpha03

17 May 19:47
Compare
Choose a tag to compare

Important

New minimum requirements for your app's project:

  • Update compileSdkVersion to "android-UpsideDownCake"

Dependency Updates

Dependency Previous version New version
appCompat 1.5.0 1.6.1

Library Updates

  • ExposedDropdownMenu
    • Added attribute to set dropdown menu's container. (1562d0b)
  • Color
    • Updated content-based dynamic colors (e9b485d)
    • Temporarily remove v34 Android U color references which could be causing resource NotFoundExceptions (2a1a67f)
  • Carousel
    • Refactor to reuse logic between different Carousel strategy classes (1c27404)
    • Add CarouselSnapHelper (8938da8)
    • Add option for snapping with multi-browse carousel demo (26c3779)
  • Catalog
    • (deps): Bump com.google.dagger:dagger-android-support from 2.45 to 2.46 in /catalog (8ff92eb)
    • (deps): Bump org.jetbrains.kotlin:kotlin-stdlib-jdk8 from 1.8.20 to 1.8.21 in /catalog (310c7c5)
    • (deps): Bump com.google.dagger:dagger-compiler from 2.45 to 2.46 in /catalog (d1d1165)
  • MaterialDatePicker
    • Fix crash when clicking OK/Cancel on text input mode due to hiding keyboard (7ccf670)
  • Documentation
    • Adds Search class definition link to Search documentation. (e157608)
  • Search
    • Fix expand/collapse animation for non-predictive back cases where rootView bounds are not equal to searchView bounds (577d23e)
  • SideSheet
    • Fixed modal sheet slide offset formatting bug in catalog. (87a45a2)
    • Renamed private references of "origin" to "inner" in SheetDelegate and related delegate classes. (ad9ad20)
  • Other
    • Update library version to 1.10.0-alpha03 (11b8da4)

Full list of changes

1.10.0-alpha02...1.10.0-alpha03

1.9.0

04 May 20:20
Compare
Choose a tag to compare

What's new since 1.8.0

Dependency Updates

  • No dependency updates.

Library Updates

  • Badge
    • Added shape appearance for badges (89a2a64)
    • Updated M3 style to match specs - alignment tweaks and text appearance changes (3c1ac05)
    • Added new 'offsetAlignmentMode' attribute that determines where the offset starts for the badge (d0d0f54)
  • BottomSheet
    • Added animation for bottom sheet position when keyboard is shown using WindowInsetsAnimationCompat API (697d93a)
  • Carousel
    • Added developer documentation (be9f16c)
    • Released carousel component (4ecba81)
  • Color
    • Added new theme attributes for fixed accent colors. (4f3dc3e)
    • Added tonal surface color theme attributes and updated themes. (989d574)
    • Added support for missing color roles. (169bbca)
    • Added framework color roles support for content color (ce68ec6)
  • SideSheet
    • Added detached variant of modal side sheet. (ad3cf5a)
    • Added detached variants of standard and coplanar sheets. (938105a)
    • Added modal side sheet documentation. (2e9b39f)
  • Slider
    • Added mouse support for slider control. (93f8ffb)
    • Added API for setting the radius of active/inactive tick in xml and Java. (7bbbe39)
  • Tokens
    • Introduced new accent color tokens. (dac9450)

Full list of changes

1.8.0...1.9.0

Full list of release notes

1.10.0-alpha02

01 May 20:28
Compare
Choose a tag to compare

Important

New minimum requirements for your app's project:

  • Update compileSdkVersion to "android-UpsideDownCake"

Dependency Updates

None

Library Updates

  • Predictive Back

    • Add ability to opt-out of back handling in SearchView 176ce5e
    • Make back helpers support generified View type 69b5386
    • Only use device corner radius if SearchView reaches edge of screen a93c91a
    • Update side container back helper to support containers with arbitrary child views 9405121
    • Added predictive back support for standard 562285e and modal f335a50 side sheets
    • Fixed subtle detached side sheet glitch where after predictive back the sheet did not fully slide off screen 52f1737
    • Added handleBackInvoked() predictive back support for coplanar side sheets. b984e64
    • Added updateBackProgress() predictive back support for coplanar side sheets 5ba704a
  • Badge

    • Added getters/setters for vertical and horizontal badge padding a0d0b53
    • Added attribute to automatically adjust badge so that it is within the anchor view's grandparent view's bounds b706506
    • Cleanup/fixes 4d50aa4
    • Fixed crash caused by non-ascii strings 532b65d
    • Fixed table formatting and remove unnecessary badge invalidation 44a97f4
  • Bottom sheet

    • Fix for detached from bottom sheet behavior 9c4b73d
    • Updated expanded corner removal to check if sheet view is actually at top of screen 1c01e82
    • Added method to allow programmatically changing shouldRemoveExpandedCorners behavior c8a0d47
  • Carousel

    • Fixed mutli-browse catalog demo crashing due to invalid position slider values 5bc7a50
    • Updated MultiBrowseCarouselStrategy to find best arrangments using a cost function 0184b5b
    • Fixed item masking for API 21 7bc26e5
  • Color

    • Code style update 1fd695c
    • Updated content-based dynamic with contrast levels b335436
    • Added ColorContrast API a6cf098
  • Dialog

    • Made dialog background color configurable in XML styles 77cdc1e
  • MaterialDatePicker

    • Updated screen width at which days size is 48dp in portrait mode ec511a5
    • Fixed time zone when custom text input format is set 619d5a6
    • Fixed ContentDescription for "DayName" not properly getting read by talkback for the German language 35bd1fc
    • A11y/i18n alignment f4d0f56
    • Added getTextColor to DayViewDecorator 29b59c2
  • Navigation View

    • Updated NavigationView to use ViewOutlineProvider to handle corner clipping when possible and remove drawerLayoutCornerClippingEnabled attribute c031144
  • Search

    • Made SearchBar and SearchView's container colors configurable in XML style cf006c5
    • Improve performance by preventing item change notifications during inflation 203d5ec
    • Updated search styles to set the default style attributes in the related theme overlay 9ffaa8d
    • Support stylus handwriting in SearchBar 884a454
    • Fix Search view prefix style e56e9b1
    • Updated SearchDemoUtils to mark the class and methods as public so that it can be resued 3b43d41
  • SideSheet

    • Removed the hasValue check for shapeAppearance to guarantee it always has a user value or default value to avoid NPE 5e427da
    • Fixed container color assigned to incorrect attribute a4c65d8
    • Added left/start modal sheet d0ad45e
    • Fixed side sheet swipe calculations in RightSheetDelegate 8ae8a37
  • Switch

    • Added support for setting thumb icon size 2e85f06
  • Tokens

    • Upgraded outdated token output in textfield & appbar d722a78
    • Integrated tokens and add shape appearance support in bottom navigation view 7bd9724
    • Integrated tokens in bottom sheets 86cd9d7
    • Integrated tokens and add shapeAppearance attribute in navigation rail 3b2b827
    • Integrate container color token in Snackbar 206928b
  • Text fields

    • Added API to set cursor colors for API 28+ c598ccd
  • Top App Bar

    • Removing keyboard scroll event workaround for AppBarLayou…t since CoordinatorLayout issue has been fixed in androidx.core:core:1.10.0 fdaff78
    • Updated to take a CSL as the AppBarLayout background color 6980c40

Full list of changes

1.10.0-alpha01...1.10.0-alpha02

1.9.0-rc01

13 Apr 18:32
Compare
Choose a tag to compare

What's new

  • Carousel is now available for use in RC!

Dependency Updates

  • No dependency updates

Library Updates

  • Carousel
    • Fix item masking for API 21 (3514524)
    • Updated MultiBrowseCarouselStrategy to find best arrangments using a cost function (93913a4)
    • Fixed mutli-browse catalog demo crashing due to invalid position slider values. (48fd6d2)
    • Add support for transitions by forcing canvas clipping when detaching from the window. (88e1688)

Full list of changes

1.9.0-beta01...1.9.0-rc01

1.10.0-alpha01

30 Mar 20:35
Compare
Choose a tag to compare

Important

New minimum requirements for your app's project:

  • Update compileSdkVersion to "android-UpsideDownCake"

Dependency Updates

Dependency Previous version New version
compileSdkVersion 33 android-UpsideDownCake
com.android.tools.build:gradle 7.2.0 7.4.2

Library Updates

  • Predictive Back
    • Updated SearchView to support predictive back when set up with SearchBar (a4b6f46)
    • Fixed bug where standard hideable bottom sheets don't stay hidden after predictive back (2c23d2a)
    • Added top-level developer documentation (8105cb7)
    • Updated Bottom Sheet to support predictive back (d6fad95)
    • Infrastructure for back handling in components + Navigation Drawer predictive back support (2c297fa)
    • Migrated Catalog to use AndroidX back pressed callbacks and enable predictive back-to-home (22c4e0d)
  • Badging
    • Allowed text strings in badges (c1ef52b)
    • Center badge content more correctly (fc0de1b)
    • Added padding in between top and bottom edges of badge and text (8499b83)
    • Fixed doc formatting for github (e75654d)
    • Integrated tokens (68c844c)
    • Added shape appearance for badges (2ddcfe4)
    • Updated badge images (c1eba1b)
  • BottomAppBar
    • Fixed bug with transparent top app bar when in bottom app bar layout (c22eb0d)
    • Fixed issue with pre-21 FAB elevation/shadow sometimes appearing (2ea3df9)
  • BottomSheet
    • Ignored ACTION_MOVE events in BottomSheetBehavior that weren't preceded by an ACTION_DOWN event. (d8c01c1)
  • Carousel
    • Added 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
    • Fixed catalog errors for some demos. (4c3e1d5)
    • Fixed context menu are not themed on S (33e4f84)
  • Checkbox
    • Fixed checkmark icon not updating color on error correctly in pre 21. (62aa802)
  • Chip
    • Fixed hand pointer icon not showing up on whole Chip when using mouse input (2702b1a)
    • Added theme overlays supported on API < 23 (fd0c815)
  • Color
    • Added U color resources for contrast mode support. (93f386c)
  • FloatingActionButton
    • Correctly handle min touch target size (d6f36e8)
  • Material 3
    • Fixed a crash in search components when view attributes inspection dev setting is turned on. (1159923)
    • Color Component demo update (2aa1cf3)
    • Color Component demo update (c786582)
  • MaterialDatePicker
    • Made dialog container color configurable in xml style. (7b2c19b)
    • Fixed hint for Korean (bcc97bf)
    • Integrated tokens. (30ea33e)
    • Fixed keyboard not showing at first in text input mode (4032a74)
  • NavigationRail
    • Added attribute to control the application of start window inset padding. (3f99392)
    • Fixed active item focused state color not being visible. (1d2a59b)
  • NavigationView
    • Removed canvas clipping by default and added an option to enabled/disable manually (e3b493f)
  • SideSheet
    • Added LeftSheetDelegate and left sheet support for standard and coplanar side sheets. (78fa157)
  • Tabs
    • Fixed issue with indicator not being drawn when viewpager starts scrolling before onLayout is called (34d6a14)
  • TextInputLayout
    • Made collapsed hint aligned with prefix and suffix text (d9b97b4)
  • TimePicker
    • Made dialog container color configurable in xml style. (5f542c8)
  • Tokens
    • Updated to v0.162 for a new target. (0be665c)
    • Upgraded to v0.162. (9f1caa2)
  • TopAppBar
    • Fixed dragging the app bar layout overshoots the status bar. (b3f7b66)
    • Added support to pass toolbar style. (cdda1fc)
    • Fixed bug in AppBarLayout that refreshes all its children's drawables instead of just its own (21a7aff)
  • Other
    • Updated to AGP 7.4.2 to get latest lint and fix Android U lint issues (5a37e4b)
    • Updated library version to 1.10.0-alpha01 (c7d31fb)
    • Minor fix. (dfbf4d9)
    • Upgraded to 7.6.1. (500c8eb)
    • Updated gradle-wrapper.jar (bb2716f)
    • Updated string translations (5689ce2)
    • Updated compileSdkVersion to android-UpsideDownCake (3fb6bb2)

Full list of changes

1.9.0-alpha02...1.10.0-alpha01

1.9.0-beta01

16 Mar 18:35
Compare
Choose a tag to compare

Dependency Updates

  • No dependency updates.

Library Updates

  • Badging
    • Integrating tokens (842df49)
    • Add shape appearance for badges (89a2a64)
  • Carousel
    • Updated MaskableFrameLayout to use Outline path clipping on 33+ only. (14535c5)
    • Updated setForceCompatClipping visibility for testing. (b0c1edf)
    • Updated MaskableFrameLayout to clip more performantly. (a4669fd)
    • Changed Maskable.add/removeOnMaskChangedListener to Maskable.setOnMaskChangedListener. (67956ee)
    • Fixed child index bug causing items to be ordered incorrectly. (668f03e)
  • Documentation
    • Fix doc formatting for github (78dd5cc)
  • Tabs
    • Fix issue with indicator not being drawn when viewpager starts scrolling before onLayout is called (a84bd90)

Full list of changes

1.9.0-alpha02...1.9.0-beta01