github material-components/material-components-android 1.8.0

21 months ago

What's new since 1.7.0

  • Brand new Side Sheet component with standard, modal and coplanar variants! Check out the Side Sheet design guidance and developer documentation for more details.
  • Brand new Search component! Check out the Search design guidance and developer documentation for more details.
  • Integrated tokens for Bottom Sheet, Checkbox, Chip, Dialog, Divider, MaterialButton, NavigationRail, ProgressIndicator, Slider, Switch, Tabs, and TextInputLayout.

Dependency Updates

Dependency Previous version New version
ext.kotlinVersion 1.3.50 -
errorproneVersion - 2.15.0
compileSdkVersion 32 33
targetSdkVersion 32 33

Library Updates

  • A11y
    • Improve date input validation feedback follow up (1200e25)
    • Improve date input validation feedback (f394903)
    • Improve TalkBack focus order when selecting a day (dff70c0)
    • Improve date selection announcements (5c5b1e8)
    • Announce start/end dates (2f9844b)
    • Announce current year and day (c6539f2)
    • Fix TalkBack announcements when switching between year/day selection views (62b2b19)
    • Announce selection (be8b8d4)
    • Improve focus handling (ceacaa6)
    • Request focus on search menu when showing (968e035)
    • Fix focus when changing input mode (eca825f)
    • Update hour content description for 24h clock (ee19b01)
    • Make Clock text scale with system font size (e9fc0a0)
  • Badging
  • BottomAppBar
    • Request layout for FAB when BAB changes so that FAB will always be aware of BAB changes (10fe695)
    • Add attribute to remove shadow on container (1322e61)
    • Added the handle to the bottom sheet. (4c11606)
    • Update motion specs for show/hide bar (fdd8dae)
    • Updating catalog to remove M2 options (8bec167)
    • Small bugs and padding adjustments (63f98bf)
  • BottomNavigationView
    • Remove elevation shadows (e393748)
    • Updated active text label to use a bold typeface. (11e98f2)
    • Fix hardcoded number of children (a2ce1dd)
  • BottomSheet
    • Update motion attributes for bottom sheet dialog animation (1cdb371)
    • Token integration (e474cf4)
    • Update elevation to match specs (617e582)
    • Sync custom actions with drag handle views (0804031)
    • Only remove round corners in M3 styles when it's fullscreen (6631abb)
    • Add shouldRemoveExpandedCorners attribute (6e6c53a)
    • Add method to calculate slide offset (2958d8d)
    • Add attribute for significant velocity threshold (d845db8)
    • Corrected guidance to use modal bottom sheet default style theme attribute for standard bottom sheets and added a callout explaining that there is no default style theme attribute for standard bottom sheets. (4865639)
    • Disable drag handle when restricting expansion (c9e855e)
  • Catalog
    • Fix incorrect time stamps (305e19d)
    • Updated search demo to change search bar hint (fafee33)
    • Updated Catalog demo to change search bar/view demo title. (df85be2)
    • Applied edge-to-edge to preferences bottom sheet (c440d86)
    • Add themed icon (45a569f)
    • Add input mode selector (09f1ee5)
    • Fix navigation bar overlaps ui #2927 (5c2eb45)
    • Replace android.support dependencies with androidx (3d32f73)
    • Update date picker demo text appearances to M3 (c19efa0)
    • Updated button demo to provide the correct content description for icon only buttons. (2697e0f)
    • Added search/filter functionality to MDC Catalog. (549fe19)
    • Fix the favorite icon vertical alignment on demo landing rows (745acfd)
    • Update Catalog preferences demo to use MaterialSwitch (229eb9d)
    • Fix favorite row button alignment in lower apis. (849be73)
    • Updated catalog preferences for shape corner sizes. (3daa028)
  • Checkbox
    • Update unselected outline color to ?attr/colorOnSurfaceVariant to match tokens. (5d261f5)
    • Integrated tokens (e67e68d)
    • Fixed NPE crash due to layer drawable's constant state issue in APIs < 23. (b8e1b57)
    • Fix a11y announcement for indeterminate state. (6f474b3)
    • Fixed pre 21 issue where the icon did not update its color according to its state properly (ccf67f7)
    • Added indeterminate state support to the checkbox. (8f149b1)
    • Fixed icon color not updating correctly in light mode in pre 21. (a4d6f51)
    • Fix pre-21 issue where a child of the layer drawable (the button and/or the icon drawables) may not have its constant state set up properly. (079371f)
    • Fixed issue where AppCompatCheckBox would not display its drawable when a Material theme was being used. (9ca8a80)
  • Chip
    • Integrate Chip component tokens to Chip styles in M3. (cb65cc6)
  • CollapsingToolbarLayout
    • Exposing methods to set text size for collapsed and expanded text size (29bed9a)
  • Color
    • Updated Builder class for content color (2351fd9)
    • Implement content color with resources loader (4619f31)
    • Added content color api (8ca326a)
    • Added the rest of the library for content color support. (8510596)
    • Updated material color utilities library implementation. (f0e5bda)
    • Refactored material color utilities library into its own directory. (9897bc2)
    • Add additional condition to check dynamic color supported devices (17ac05d)
  • Dialog
    • Updated enter/exit animation to use fade pattern and motion tokens. (8d8a0d1)
  • Divider
    • Change shouldDrawDivider from private to protected to allow for more user flexibility. (b08257b)
    • Integrated M3 tokens and updated color. (2f6ebb4)
    • Fixed logic of determining whether to draw divider in MaterialDividerItemDecoration. (6f547d4)
  • Documentation
    • Added warning about known issue in slider where label doesn't scroll along with the screen. (ca54c65)
    • Add android dev doc and source link to the Material dev doc (00c9ce5)
    • Update docs to remove links to Kotlin docs and remove Kotlin from dependency (bde2092)
    • Update text field doc to include information about android:textColorHighlight (ae788ac)
    • Changing the name for the AGP compatibility variable so that the IDE points to the right documentation. (2527cc2)
    • Update typography guideline to M3. (bc1ec5a)
  • ExposedDropdownMenu
    • Dismiss modal popup in dismissDropDown (644d141)
    • Fix MaterialAutoCompleteTextView.setDropDownBackgroundDrawable(Drawable). (db115f0)
    • Fixed missing icon activated color. (9147704)
  • ExtendedFloatingActionButton
    • Add a extendToWrapContent attribute that can disable the current eFAB behavior of extending to wrap content (thus allowing extend to return to its original width before shrinking) (d5b41c1)
    • Update extend/shrink motion spec (9db041c)
  • MaterialButton
    • Integrate M3 Tokens. (b9e8fb8)
    • Use Layout to measure text width. (3b333ee)
    • Added support for toggleable Icon buttons. (8a4af07)
  • MaterialButtonToggleGroup
    • handle setEnable childs (e8bfad5)
    • Added the default Material3 toggleGroupStyle (b6c6600)
  • MaterialCardView
    • Update motion specs for Z-shadow (3975a2e)
    • Add fade animation for checked icon drawable (7d129ea)
  • MaterialDatePicker
    • Fix headerTitle text size (147463f)
    • Update text appearances (ffbf835)
    • Update elevation to match specs (b813b2b)
    • Improve inputs validation (4046525)
    • Exposed method to set a custom formatter for text input fields. (276c117)
    • Enable auto-sizing of the date selection text (32f1118)
    • Update string translation for datepicker. (8dcdd26)
    • Add method to specify a content description to decorated views (7bc5689)
    • Make new public getter methods for start/end/openAt values with long return types for CalendarConstraints (6643695)
    • Update doc to include DayViewDecorator. (aff6a94)
    • Expose CalendarConstraints start and end getter methods (95ab979)
    • Add initialize() method to DayViewDecorator to better support configuration changes (be650c4)
    • Refactor header styling to allow for multiline title with description text (debe22e)
    • Hide month pagination from the year picker (51b6054)
    • Add ability to customize background color to DayViewDecorator (24201b4)
    • Add support for decorating day views and a demo for circle indicators (bca0f2e)
  • NavigationRail
    • Added design tokens for M3 NavigationRail Component. (d1b682f)
  • NavigationView
    • Disable drawing left and right insets if the nav bar is not edge to edge (cb384c5)
    • Fix subheaderInsetEnd setter (88c448e)
  • ProgressIndicator
    • Integrates tokens into M3 styles. (ab063b7)
    • Finish all visibility animations when animate = false (26aa22b)
  • Search
    • Added search bar component. (4e323fa)
    • Fixed issue that caused the wrong component to be focused on automatically when talkback is active. (8cbfd20)
    • Updated search bar/view UI to match spec and cleaned up the API. (d049b1b)
    • Updated style to match updated M3 spec. (be8ff16)
    • Renamed search style attributes to add "material" prefix. (978ffdf)
    • Added new SearchBar and SearchView components (d1bacf5)
    • Refactored status bar spacer edge-to-edge detection to work based on insets (38605f4)
    • Removed M3 search style references from Material theme. (2977a75)
    • Added Search Demo . (030fe32)
  • SideSheet
    • Disabled lift on scroll in Side Sheet demo. (99664aa)
    • Added accessibilityPaneTitle to side sheet. (516240d)
    • Fixed issue where sheet would jump to the far edge of the screen in RTL without temporary fix. (a24832a)
    • Added explicit style definition to coplanar sheet catalog demo. (35dfa92)
    • Updated close sheet button content description in catalog. (0538a3c)
    • Added coplanar side sheet with APIs for setting a coplanar sibling view. (8055a2c)
    • Set accessibility focus to the side sheet when expanded. (0949e9c)
    • Release Side Sheet catalog demo. (f707836)
    • Rebrand "Adaptive Sheets" demo to "Side Sheet". (7f17891)
    • Fix vertically scrolling sheet swipe issue by deleting most of the nested scrolling code (3bc1f6e)
    • Cancel modal side sheet scrim on STATE_HIDDEN. (0c4e4a7)
    • Restrict SheetDialog methods from the public API surface and rename getDismissWithAnimation. (9c8ea58)
    • Add SideSheetCallback listener to SideSheetBehavior to track @SheetState state change events. (99e09b0)
    • Renamed SheetEdge#RIGHT to SheetEdge#EDGE_RIGHT. (35d6051)
    • Made SheetDialog abstract base class and Sheet interface package-private. (0c35d1d)
    • Add @RestrictTo annotations to restrict SheetEdge annotation interface. (e6ca949)
    • Made SideSheetBehavior extendable. (f7b3aac)
    • Add STATE_HIDDEN to SideSheetBehavior#getState javadoc. (7a706cc)
    • Changed modal side sheet shape to large. (1653055)
    • Added initial modal side sheet. (10d72ee)
    • Add standard side sheet documentation. (4364c4f)
    • Moved behavior_draggable attribute to the resources package. (1d3e374)
  • Slider
    • Add current value to talkback for Slider (9e210ea)
    • Integrate component tokens (4a1e6bc)
    • Fix compat halo visibility (bcb551b)
    • Do not capture inflation parameters for reuse (a137c28)
    • Update motion attributes (c7a3d5e)
    • Release slider thumb if gesture has been cancelled (f3a5f2f)
    • Ensured the minimum touch size of handle is 48dp (f3952f8)
  • Switch
    • Update animations to use motion theming. (3fc3ec1)
    • Removed resources from deprecated tokens. (112378d)
  • Tabs
    • Fix bug with setScrollPosition not updating indicator due to onLayout call drawing the indicator below the selected tab. (1681b1d)
    • Fixing bug with animation flicker when using tabs with ViewPager2 (ab3f203)
    • Fix bug with selected tab text appearance when swiping in viewpager. (4a0e1a0)
    • Fix default tabTextAppearance (cb1905d)
    • Fixing bug with animation cancelling if tab is double-tapped (857f481)
    • Fix tab indicator animation (f9a37c5)
    • Integrated tokens into M3 styles. (d0460f3)
    • Fixed potential NPE when updating tab view. (34a1dde)
    • Add selectedTabTextAppearance attribute (00220d0)
    • Setting a custom view on the tab should replace the current custom view (3c0c9e7)
    • Do not impose margins in custom tab views (d68c0f8)
    • Update motion attributes for tab layout (d1c5a52)
    • Update AppCompat version to 1.5 stable (7f98ebc)
    • Fix icon position in icon-only tabs (cebf591)
    • Added AnimatableView Interface. (edcb7fb)
  • TextInputLayout
    • Fix label cutout doesn't work on API < 18 (a352178)
    • Fixed counter overflow text color getter (e76eaff)
    • Integrated tokens for text fields and the exposed dropdown menu. (e7697c2)
    • Updated cursor color on error for APIs >= 29. (fbd75ec)
    • Update motion attributes for textfield animations (c98480c)
    • Updated expanded label color to take error color when on error. (a85204e)
    • Added method to set corner family programmatically and a setShapeAppearanceModel method for greater customizability of the box background shape. (08c40d8)
    • Update motion specs for hint animation (6b53f62)
    • Add scale type setters/getters for start and end image buttons in the TextInputLayout (e284e57)
  • Theming
    • Added a theme attribute for outline-variant color. (ac6f13c)
  • TimePicker
    • Fix NumberFormatException (0c204b8)
    • Fix divider alignment on the clock display (6d956ed)
    • Pre-fill hour and minute edit texts in text input mode (56ea071)
    • Pre-fill hour and minute edit texts in text input mode (087da2f)
    • Fix keyboard not showing at first in text input mode (15c7128)
    • Update motion specs (a4f6a1e)
    • Fix text appearance on the clock display (0dbea2d)
    • Use a single layout for time input (60bc025)
    • Fix text and cursor alignment on the clock display (16edbb9)
    • Fix TimePicker appearance for RTL (b3acd17)
    • 2-ring support for 24H clock (cbc0711)
  • Tokens
    • Refresh the output to reflect the current version. (567cc54)
    • Added in formatter a new feature to format a resource string without handling the ordering. (4a24684)
    • Refreshed outdated component token resources files. (ed77ab3)
    • Upgraded to v0.126 for 1p and 3p. (1ef53e2)
    • Updated to correctly convert shape tokens with asymmetric shape value. (02327c3)
  • TopAppBar
    • Update motion specs (c8108b1)
    • Adding new attribute liftOnScrollColor that disables elevation overlay and allows users to change the app bar color (c587dd1)
    • Fix issue with a physical keyboard scroll not collapsing toolbar (9df6c9d)
    • Make a new setter for scroll effect and make SCROLL_EFFECT_COMPRESS public (14415a1)
    • Added documentation for status bar foreground on scrolling app bars. (32f41ff)
  • Transitions / Motion
  • Other
    • Update compileSdkVersion and targetSdkVersion to 33 (T) (090b988)
    • Updated active text label to use a bold typeface. (b1bd580)
    • Fix Gradle warnings (ba70cd7)
    • Fixed SwipeDissmissBehavior not work when down touch event consumed. (624543f)
    • Update string translations (7c56473)
    • Change relative corner size behavior for "vertical" shapes (158d9f0)
    • Updated SDK target version to 33 (89a2b6f)
    • Fixed drag view alpha not changing when swipeDirection is END_TO_START (39b4c76)
    • Add @CanIgnoreReturnValue to some APIs that return this. (44cc9b7)
    • Add errorprone dependency to our gradle file (52ebb77)
    • Fix rotation angle calculation (41eb6d0)
    • Add defensive null check for typeface passed in to util (2b1af84)
    • Update AppCompat dependency to 1.5.0-rc01 (5c6f0c8)
    • Update lerp to accept input ranges of any size. (1a336b5)

Full list of changes

1.7.0...1.8.0

Full list of release notes

Don't miss a new material-components-android release

NewReleases is sending notifications on new releases.