Releases: material-components/material-components-android
Releases · material-components/material-components-android
1.7.0-rc01
Dependency Updates
- No dependency updates
Library Updates
Checkbox
Snackbar
- Made snackbar javadoc more clear of how its dismissing works. (5cb92c8)
Full list of changes
1.7.0-beta01
Important
New minimum requirements for your app project:
- Update to Android Gradle Plugin (AGP) version 7.2.0
- Update to Gradle version 7.3.3
- Update to Java 8 (version 1.8)
- Update to Android Studio Chipmunk, version 2021.2.1
- Update compileSdkVersion and targetSdkVersion to 32
What's new
- Updated
MaterialCheckBox
component with indeterminate state support! - New icon-only styles for
MaterialButton
component! - New
MaterialSwitch
component! (Spec) - Updated
BottomAppBar
component! (Spec)
Dependency Updates
Dependency | Previous version | New version |
---|---|---|
androidx.appcompat | 1.5.0-beta01 | 1.5.0 |
Library Updates
Divider
- Fixed lastItemDecorated not being applied to horizontal orientation. Also updated the demo to include both orientations. (92caa19)
BottomSheet
Catalog
TopAppBar
- Fixed bug in HeaderScrollingViewBehavior that causes child translation Y not to be reset to default if the behavior is changed from an overlapping to non-overlapping behavior in layoutParams.setBehavior (00c62d2)
Checkbox
- Fixed pre 21 issue where the icon did not update its color according to its state properly (2cc8932)
- Updated checkbox documentation. (130a35c)
- Added indeterminate state support to the checkbox. (4da7ce1)
- Fixed icon color not updating correctly in light mode in pre 21. (a5f8e93)
- Fixed 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. (f76b75a)
- Fixed issue where AppCompatCheckBox would not display its drawable when a Material theme was being used. (04fed55)
- Updated checkbox to M3 look. (1666fbc)
Slider
- Fixed NPE when trying to remove labels when ViewOverlay doesn't exist yet (95e585c)
Badging
- Fixed NPE in BadgeState (4f844ab)
Switch
- Updated doc with the new switch design (f469720)
Documentation
- Updated typography guideline to M3. (104a342)
BottomAppBar
Color
- Added additional condition to check dynamic color supported devices (81c2ded)
ExposedDropdownMenu
- Fixed missing icon activated color. (3af5784)
Button
- Added support for toggleable Icon buttons. (631f0eb)
Other
- Added defensive null check for typeface passed in to util (2e815d2)
Full list of changes
1.7.0-alpha03
Important
New minimum requirements for your app project:
- Update to Android Gradle Plugin (AGP) version 7.2.0
- Update to Gradle version 7.3.3
- Update to Java 8 (version 1.8)
- Update to Android Studio Chipmunk, version 2021.2.1
- Update compileSdkVersion and targetSdkVersion to 32
What's new
Dependency Updates
Dependency | Previous version | New version |
---|---|---|
androidx.appcompat | 1.4.0 | 1.5.0-beta01 |
Android Gradle Plugin (AGP) | 4.0.0 | 7.2.0 |
Gradle | 6.1.1 | 7.3.3 |
Java Version | 1.7 (7) | 1.8 (8) |
Library Updates
Switch
- Update to AppCompat 1.5.0-beta01 and remove workarounds (also update compileSdkVersion/targetSdkVersion to 32) (e968929)
- Tokenize the new switch styles (e9b5328)
- Refine tinting logic to have better performance (072578d)
- Add thumb icon tint to the new switch styles (2f33cfc)
- Add associated text styles (06bba00)
- Add material switch style to M3 themes (1e08c68)
BottomSheet
- Add drag handle to scrollable demo (f89a91f)
- Create a drag handle view which support accessibility control (ac7b761)
- Do not find scrolling child that's not visible (1fe1618)
- Update javadoc of setHideable() method (132ff88)
- Fix BottomSheetDialog edge-to-edge mode (2d3024e)
- Fix BottomSheetDialog edge-to-edge mode (fd8d30d)
- Fix full-screen dialog layout after restrict expansion is enabled once (109748e)
ProgressIndicator
Catalog
Documentation
FloatingActionButton
Tokens
- Integrate component tokens. (2719859)
- Included parent display group names in the output file comments. (cc317e1)
- Updated formatter to add an new line between token_set sections for better readability. (cd37b91)
- Integrated elevation overlay color. (d320d48)
- Upgraded token resources to v0.99. (d0c3ea0)
Snackbar
Slider
- Fix label visibility when slider is hidden (ed11e69)
TopAppBar
BottomNavigationView
- Updated item ripple to be contained within active indicator shape when enabled. (11578b3)
ExtendedFloatingActionButton
- Updated show and hide motion specs to use motion tokens. (5c0003c)
Checkbox
- Added support for error state. (8dd9c7e)
MaterialButton
- Add methods to not toggle checked state on buttons on click (a601107)
RadioButton
- Refactored button tint color resource and updated docs (254abc5)
TextInputLayout
CollapsingToolbarLayout
- Added experimental API to allow generic customizations of the StaticLayout.Builder used for the title text (241aa5c)
BottomAppBar
- Changing default Material3 theme to follow M3 specs (53b3001)
- Token integration (f2f588a)
- Add attribute to remove embedded FAB elevation (f2423de)
- Add fab end margin attribute (88a73eb)
- Add menu alignment attribute (397e48f)
- Generated resources from tokens. (4188995)
- Add new anchor mode attribute for FAB that has an embedded option (cab45dd)
Tabs
Transitions / Motion
- Update documentation with new visual assets. (a9752ee)
TimePicker
NavigationView
- Update foreground boundaries of menu items when setting a new foreground (4dc3d93)
Divider
- When lastItemDecorated false then creates a blink with the last view contains a dropdown from visible to gone (03c4353)
ShapeableImageView
- Don't change layer type when view is detached from the window (74b7706)
MaterialDatePicker
- Improve error formatting (be8e4e2)
A11y
- Fix announced Chip count and index (9b1a74b)
Chip
- Fix API requirement (777ba0d)
Other
- Version 1.7.0-alpha03 (a40f5fa)
- Automated g4 rollback of changelist 458265064 (34ac0ec)
- Update guidelines for CollapsingToolbar + PreferenceFragmentCompat (201b4a0)
- Automated g4 rollback of changelist 457744460 (10ac255)
- Automated g4 rollback of changelist 458476376 (c49f961)
- Added support for toggleable Icon buttons. (2d83321)
- Automated g4 rollback of changelist 457648699 (65a3ac5)
- Remove unused public.xml resources (cd80b71)
- Automated g4 rollback of changelist 454163860 (ca2da6c)
- Automated g4 rollback of changelist 457576897 (7e9045b)
- Updated translated strings. We know how to say "Cancel" now :) (3fdfb6e)
- Fixed overlapping of compat shadow of inner corners. (ecb6284)
- Updated dev doc. (36e204f)
- Update Appcompat and Emoji2 libraries from aosp-androidx-g3-release with build id #8479725 (eb54d6a)
- Add glide to catalog dependencies. (8a352fd)
- Automated g4 rollback of changelist 452075757 (a9a57af)
- Added isMaterial3DynamicColorApplied attr to identify whether dynamic colors are being used in a theme. (7d0f1ba)
- Migrated to new shape system. (3db2109)
Full list of changes
1.6.1
1.7.0-alpha02
Important
New minimum requirements for your app project:
- Update to Android Gradle Plugin (AGP) version 7.2.0
- Update to Gradle version 7.3.3
- Update to Java 8 (version 1.8)
- Update to Android Studio Chipmunk, version 2021.2.1
What's new
- New
MaterialSwitch
component! (Spec)
Dependency Updates
Dependency | Previous version | New version |
---|---|---|
androidx.appcompat | 1.1.0 | 1.4.0 |
androidx.core | 1.5.0 | 1.6.0 |
androidx.test | 1.1.0 | 1.4.0 |
Android Gradle Plugin (AGP) | 4.0.0 | 7.2.0 |
Gradle | 6.1.1 | 7.3.3 |
Java Version | 1.7 (7) | 1.8 (8) |
Library Updates
Switch
- Create icon style for the new switch design (a3ca744)
- Added token generated resources. (6512092)
- Support tinting thumb & track according to thumb position (3b257c0)
- Add a workaround to get thumb position (72bac61)
- Override switch width set by AppCompat to respect the drawable width (fd40fea)
- Implement track decoration in the new design (1e7bd27)
- Add thumb and track drawables for the new switch design (1414f9e)
- Create a base skeleton of the new MaterialSwitch package/class (b2a3fbe)
Chip
Snackbar
MaterialButton
- Updated M3 button style to add outlined icon button style. Updated catalog to showcase the same. (467a2c9)
- Updated M3 button style to add filled tonal icon button style. Updated catalog to showcase the same. (14578ed)
- Updated M3 button style to add filled icon button style. Updated catalog to showcase the same. (25606cf)
- Always update drawable state when background changed (363e2b1)
- Added materialIconButtonStyle attribute and updated M3 doc to document icon (only) button style and attribute. (402bdf4)
- Migrated shape appearance to new shape system. (1d3bb00)
- Fix the issue that button state is not updated (45b99f6)
Color
- Added DynamicColorsTest. (66581f2)
- Fix Resources Loader bug for color harmonization (78d2c1f)
- Update Dynamic Colors condition (b3a7daf)
- Provide better logging for ColorResourcesTableCreator (29fddaa)
- Refactored ColorHarmonizationDemoFragment to DemoActivity (65e7506)
- Refactored PreferencesActivity to allow configurations on any activity-level preferences/options (dfd8dba)
- Added DynamicColorsTest. (a2507b8)
- Updated color harmonization demo (dc65df3)
- Fix resources being re-harmonized when wrapContextIfAvailable() is used. (f0f07c5)
- Added ColorGrid classes for color harmonization demo. (0347587)
- Add kyocera to dynamic colors allowlist and reorganized based on alphabetical order. (66990a1)
- Fix HarmonizedColorsOptions.Builder#setColorAttributes is marked as nullable (824a12b)
TopAppBar
- Fix copy constructors (382ce9c)
- Add null check for logo ConstantState check (2ac796f)
- Loosen check for scrollable child when adding a11y actions (4b81bb1)
- Fix scrolling for a11y (72228f4)
- Fix collapsing title issue with different fonts (0c341c4)
- Fix margins not applied when collapsed and expanded text size and type face are the same (526ce8c)
- Add setLiftOnScrollTargetView() method (d6c4354)
TextInputLayout
- Add a new custom length counter field and getters/setters to switch how text length is calculated for the counter. (4ded01e)
- Link OnItemSelectedListener of AutoCompleteTextView with the actual drop-down list (2db8b0c)
- Fix hint is not displayed when expanding space is limited (73cb1b6)
- Fix for TextInputLayout leak via AccessibilityManager. (673cefc)
- Centralize icon view state handling logic (ac74bc3)
- Move end icon and content description logic to the layout class (86b512a)
- Centralize accessibility event dispatching logic for drop-downs (d3ab6d7)
- Remove TextInputLayout.getEditText() calls from EndIconDelegates (7b2f924)
- Fix icon ripples go behind the edit text (2c0e42f)
- Move drop-down background and ripple creation to TextInputLayout class (1a42c74)
- Updated shape to use M3 attrs/styles. (0e4e44e)
- Create EndIconDelegate.deactivate() method and remove the relevant listener (a0e8c35)
A11y
TimePicker
BottomSheet
Divider
- Fixed extra space when lastItemDecorated = false (714521b)
Slider
Transitions / Motion
- Update container transform to use new motion system. (f2f454b)
MaterialCardView
- Migrated shape appearance to new shape system. (bfce84a)
CollapsingToolbarLayout
- Allow application to Set ellipsis to Title in CollapsingToolBar (7b043c3)
NavigationRail
- Update active indicator to use new shape system. (f700e6d)
ProgressIndicator
- Fix indeterminate progress indicator not working on API 22 (61cbb8c)
BottomNavigationView
ExposedDropdownMenu
- Added support for default/ripple background colors for the selected item of the exposed dropdown menu when the default MaterialAutoCompleteArrayAdapter is being used. (6206ff5)
MaterialDatePicker
FloatingActionButton
BottomAppBar
Tokens
- U...
1.6.0
What's new since 1.5.0
- Color harmonization support! Check out the following resources for more information:
- Designing Harmony into Dynamic Color blog post
- Using color harmonization documentation
Other highlights
Material 3
- Hide shadows on all M3 Toolbar styles, not just Surface style (b49284e)
- Migrate action bar popup themes to M3 (2ae3ca4)
- Update M3 card elevation according to the spec (bb23e2d)
- Add missing attributes to M3 button styles (3c9b452)
- Update M3 navigation rail text appearances (6b57c52)
- Fix M3 date picker styles (fba1a34)
- Change checkedIconGravity values to enum (bc56d5b)
Badging
BottomNavigationView
BottomSheet
Chip
CollapsingToolbarLayout
Color
- Fix resources being re-harmonized when wrapContextIfAvailable() is used. (b402cb3)
- Added ColorGrid classes for color harmonization demo. (fcc1091)
- Add kyocera to dynamic colors allowlist and reorganized based on alphabetical order. (1dad5f6)
- Fix HarmonizedColorsOptions.Builder#setColorAttributes is marked as nullable (44054aa)
- Added support for color resources harmonization in XML (869d943)
- Refactor DynamicColors overloading methods and added DynamicColorsOptions class to support color harmonization. (bdbf052)
- Update DynamicColors to use peekDecorView() instead of getDecorView() when applying dynamic color theme overlay (56ed070)
- Update DynamicColors util to applyStyle() on window decorView theme as well to fix potential ContextMenu issue (f6c8fa5)
- Update DynamicColors util to use activity.getTheme().applyStyle() instead of activity.setTheme() to workaround Force Dark issue (b84f35f)
- Avoid Short#compare usage in ColorResourcesTableCreator.java since it requires API level 19 (48741b4)
- Add Resource Table format for XML color Harmonization. (822a5b2)
Dialog
Divider
- Added attribute in MaterialDividerItemDecoration to remove item decoration from last recycler view item. (9416b2c)
MaterialDatePicker
MaterialButton
MaterialCardView
MaterialShapeDrawable
- Implement getAlpha() (5ff917d)
NavigationRail
- Added support for opting in/out of the NavigationRail automatically adding system top and bottom window insets. (c66633b)
Slider
Snackbar
- Fixed margins are added multiple times when show() is called (2bfc7ba)
- Fixed the issue that setting margins programmatically does not work (d5856fd)
- Support setting max lines programmatically (4c7be52)
- Enforce vertical layout when action text is too long (ff97a68)
- Fixed NPE on Android 8 & 9 (35d9da8)
- Fixed maxWidth is not applied on Snackbar (6a3ea94)
Tabs
TextInputLayout
- Fixed regression bug of prefix spacing being shown and making expanded label be in the wrong position when text field is not focused. (4d78879)
- Extracted start components from TextInputLayout (9a46af2)
- Split icon tinting logic to a helper class (9789f2e)
- Provided set simple items API with default item layout for MaterialAutoCompleteTextView (85ed993)
- Added support for minEms and maxEms (7d46b95)
- Applied edit text's letter spacing to expanded hints (88eb089)
- Text field should comply with system level bold (e8bde75)
- Fixed crashes when text field size is too large (cf5df22)
- Fixed getBoxCornerRadiusBottomEnd and getBoxCornerRadiusBottomStart returning wrong values. (9d2f864)
TopAppBar
- Fixed app:expanded=false not working (2f3110f)
- Fixed centering logic when title and subtitle are the same (f69e3a0)
- Support scaleType and adjustViewBounds for logo (b01051b)
- Make title and subtitle match ActionBar's (0f2b537)
- Save and restore scroll state during scroll range recalculation (698cf9b)
- Fixed top app bar snapping issue (acb7958)
- Fixed expanded title margin not applied (89d80d0)
- Correctly set letter spacing when expanding titles (44d4c3e)
- Fixed text alignment of multi-line title in collapsing toolbar (e6db8a4)
- Fixed snap issue with transparent status bar (b935604)
Dependency Updates
Dependency | Previous version | New version |
---|---|---|
androidx.fragment | 1.0.0 | 1.2.5 |
Full list of changes
Full list of release notes
1.6.0-rc01
Dependency Updates
- No dependency updates
Library Updates
A11y
TextInputLayout
- Fixed regression bug of prefix spacing being shown and making expanded label be in the wrong position when text field is not focused. (4d78879)
Material 3
- Add additional condition to check dynamic color supported devices (51093e1)
MaterialDatePicker
- Fix edge-to-edge mode being applied multiple times (e1ee959)
TopAppBar
- Fix app:expanded=false not working (2f3110f)
Color
- Fix HarmonizedColorsOptions.Builder#setColorAttributes is marked as nullable (44054aa)
Other
Full list of changes
1.7.0-alpha01
Dependency Updates
- No dependency updates
Library Updates
-
TextInputLayout
- Centralize EndIconDelegate listener logic (26308d9)
- Fixed regression bug of prefix spacing being shown and making expanded label be in the wrong position when text field is not focused. (784f901)
- Create EndIconDelegates in an on-demand fashion (7c160c8)
- Extract end components from TextInputLayout (6cdf7b5)
-
ExposedDropdownMenu
- Updated the elevation of the popup to match M3 specs. Also fixed bug where elevation wasn't being read via xml. (2c335b5)
- Removed update dropdown background call from setInputType as it indirectly calls setRawInputType (f915ffd)
- Update dropdown background when setRawInputType is called. (f31414a)
- Fixed android:popupBackground not working in xml/styles for the AutoCompleteTextView. (df3a708)
- Update background when setInputType is called so that ripple is or isn't present properly. (1c02b62)
-
DatePicker
-
RadioButton
- Documentation review (b7b0aa3)
-
Tabs
- tab layout should not ignore focused state ripple color (5a0541f)
-
Slider
- Make slider's height adjustable with track height or thumb radius (dc0d8a9)
-
Button
-
TopAppBar
- Fix app:expanded=false not working (05be1b9)
-
TextView
- Deprecated 4 arg constructor. (df273cd)
-
NavigationRail
- Fix bottom padding being applied to top bug (5173944)
-
Accessibility
- Added more a11y tests for text fields and exposed dropdown menu. Also updated robolectric version (863d6aa)
- Make picker header focusable to improve TalkBack response (c23daec)
- Attach/detach badge contentDescription when using menuItem. (ee49c5a)
- Make label important for accessibility (0ba0d65)
- Fixed bug where setting the AutoCompleteTextView's input type to TYPE_NULL in code would make it unusable in a11y touch mode, as it was still seen as editable for a11y. (01021a7)
- Update accessibility className used for hour/minute Chips (a51d1dc)
- Fixed text field's focused rect wrong behavior when using a11y magnification. (dce4419)
-
Transitions / Motion
-
Color
-
Catalog
-
Documentation
-
Tokens
- Upgraded to v0.87. (c5284c6)
-
Other
Full list of changes
1.6.0-beta01
Dependency Updates
- No dependency updates
Library Updates
Color
- Deprecated previous apply...() APIs and add overload for activity apply method with no options (8363cde)
- Iterated on HarmonizedColors and DynamicColors feedback (b70bbc2)
- Updated dark tone values for ColorRoles. (7b51353)
- Updated getters/setters naming in the
HarmonizedColorsOptions
(bfb6086) - Fixed formatting and typos for resources harmonization. (d24b3a9)
- Updated Color dev doc and added new section for Apply dynamic colors using
DynamicColorsOptions
and Resource Harmonization. (a81a658)
NavigationRail
TextInputLayout
- Added class documentation to use TextInputLayout's context to construct the child TextInputEditText. (1085583)
- Fixed end icon focus in a11y mode when a11y mode is turned on/off after views have been attached. Also added a11y tests. (b9a21f0)
- Fixed text field's focused rect wrong behavior when using a11y magnification. (a8d8e70)
Tokens
- Upgraded to v0.79. (ccfc0ee)
- Migrated deprecated motion token generated resources. (91c2530)
- Removed deprecated font family resource. (6a4fa0b)
- Added missing palette token generated resources. (e7a691e)
- Added new shape appearance styles. (a5b78e6)
- Added lineHeight attr into TextAppearance. (b4d4450)
TimePicker
- Updated accessibility className used for hour/minute Chips (981129f)
- Updated to give more context on hour/minute selection (380778f)
- Fixed TalkBack from announcing unavailable action (1b14715)
- Fixed TalkBack announcing wrong selection between hour/minute (47781d5)
- Fixed wrong clock item selection (9cdf4c9)
Tabs
- Fixed tabs with padding in fixed mode from scrolling (9c2df28)
Slider
DatePicker
- Always go edge-to-edge in fullscreen mode (be6050a)
Catalog
Material 3
- Added additional condition to check dynamic color supported devices (69121c8)
NavigationView
- Fixed navigation view item ripple (cfc307e)
TopAppBar
- Fixed centering logic when title and subtitle are the same (f69e3a0)
Other
- Updated bug report template with more instructions for minimal sample app (a147bca)
Full list of changes
1.6.0-alpha03
Dependency Updates
- No dependency updates
Library Updates
Color
- Refactored DynamicColors overloading methods and added DynamicColorsOptions class to support color harmonization. (bdbf052)
- Updated DynamicColors util to applyStyle() on window decorView theme as well to fix potential ContextMenu issue (f6c8fa5)
- Updated DynamicColors util to use activity.getTheme().applyStyle() instead of activity.setTheme() to workaround Force Dark issue (b84f35f)
- Added missing M3 color attributes to public (0c8fc41)
- Add support for color resources harmonization in XML (869d943)
TextInputLayout
- Provide set simple items API with default item layout for MaterialAutoCompleteTextView (85ed993)
- Updated documentation to clarify end icon mode's expected usage and behaviors relating to the icon's drawable. (1b7e92d)
- Fixed icons behaving unexpectedly when switching modes + bug of wrong icon tint state when setting an icon programmatically. (ae16efd)
- Added line mask expansion animation to filled box underline. (2463946)
- Added support for minEms and maxEms (7d46b95)
MaterialButtonToggleGroup
- Removed getAccessibilityClassName() override since TalkBack doesn't recognize the class name, in favor of getting identified as a generic list container (96fa85e)
Catalog
Dialog
- Fixed crashes when colorControlHighlight is a CSL (1c5c054)
NavigationRail
Tokens
Snackbar
Badging
- Prevent multiple badges being attached to a menu item at the same time (b3db1cc)
CollapsingToolbarLayout
A11y
- Fixed prefix/suffix not being properly announced when the text field is focused and they show up. Improved their screen reader focus order to align with the visual order of the elements: navigating to the left will focus on the prefix and navigating to the right will focus on the suffix. (b690127)
- Fixed Switch Access not being able to reach clock items (f9914da)
TopAppBar
MaterialCardView
- Fixed crash on Pre-Q devices when checked icon is null (b4cab87)
BottomNavigationView
BottomSheet
MaterialDatePicker
- Start align edit icon in landscape (94cd532)
Chip
- Refactored chip group selection logic to a standalone class (f3c6430)
MaterialButton
- Fixed icon position not being updated when size is not changed (b0f3700)
TimePicker
- Added setters for hour and minute (85a4405)
Toolbar
- Hide shadows on all M3 Toolbar styles, not just Surface style (b49284e)
Slider
- Added support for custom thumb drawables (17da000)
Typography