Skip to content

Releases: material-components/material-components-android

1.5.0-alpha02

11 Aug 18:35
Compare
Choose a tag to compare

Library Updates

  • BottomSheet
    • Fix fitToContents reference in comment (c371372)
    • Add maxHeight to bottom sheet behavior (a38d2d8)
  • MaterialCardView
    • Add invalidate when stroke changed (4acc56d)
    • Fix checked icon tint for API < 21, BitmapDrawables (b064460)
  • Chip
    • Fix touching cannot put focus on chips with Talkback (7085319)
    • Report a11y class name as RadioButton in single selection mode (31ca110)
  • Slider
    • Fix minSeparation having no effect when stepSize > 0 (2d589bd)
  • BottomAppBar
    • Fix default style not being applied (ac1caf4)
    • Add functions for checking (STATE_SCROLLED_UP | STATE_SCROLLED_DOWN) (3bb0911)
  • Other
    • Version 1.5.0-alpha02 (0e5c393)
    • Updated some string translations for date picker, time picker, and text field (57e3bc0)
    • Fixed the transparent strip drawn at the ends of the indicator. (a55f3b8)
    • Added null check in requestAnimatorAfterCurrentCycle for disjoint indeterminate animator. (456abd5)
    • Fixed the transparent strip drawn at the ends of the indicator. (f9f57d7)
    • Add setLiftableOverrideEnabled() method to allow toggling between automatic and manual setLifted() behavior (e2c911b)
    • Updated setLifted() to preserve lifted state if using setLiftable() programmatically (67f9e9d)
    • Apply the max width/height during measure instead of modifying layout params (9fb73b5)
    • Internal change (cbf7bca)
    • Added listener for when lift on scroll background elevation and color change (3008d78)
    • Modify updateAppBarLayoutDrawableState logic to only require a child at an offset for conditions that depend on that child. For conditions that can be determined just based on the AppBarLayout, always check those conditions. (3eea607)
    • Added support for statusBarForeground lift on scroll elevation overlay for edge to edge mode and updated demo (aaa0444)
    • Fix ViewDragHelper state inconsistency (a2e7673)
    • Fix styles and attrs references in documentation (27b99ed)
  • Catalog
    • Small updates to music player demo. (cc4a604)
  • Transitions / Motion
    • Fix NPE when removing window background (b51692d)
  • MaterialDatePicker
    • Date selector hint incorrectly localized (47868d8)
  • Documentation

1.5.0-alpha01

08 Jul 21:32
Compare
Choose a tag to compare

Dependency Updates

Dependency Previous version New version
compileSdkVersion 29 30
androidx.core 1.2.0 1.5.0

Library Updates

  • New Divider component (Docs)
    • Added new Divider component to the library and Divider doc. (782dffa)
    • Added divider demo in catalog (acf08f7)
    • Fixed divider title (d0e3ce1)
  • Transitions / Motion
    • Extracted music player app into its own package and made transition demo depend on it. (a536a80)
    • Add motion package and utils to resolve motion theme attrs. (217bdef)
  • BottomSheet
    • make FloatRange for setHalfExpandedRatio() exclusive (77c2a83)
    • Adds additional methods that are restricted to the library. They will be used for Experiment and deleted/revised after experiment. (b4982f9)
    • read the edgeToEdgeEnabled value earlier in the lifecycle (030e5bd)
  • BottomAppBar
    • Improved Bottom App bar demo controls. (c995ae2)
    • Adding the attr to set the color of navigation icon. (0ed7c76)
    • change cornersize to float to avoid truncation errors (8e9b680)
  • MaterialButton
    • Updated Material Button style to set the preferred maximum width to 320dp. (c5c7a74)
  • BottomNavigationView
    • Added deprecation Javadoc for BottomNavigationView#OnNavigationItemSelectedListener and BottomNavigationView#OnNavigationItemReselectedListener. (720088c)
    • Updated to explicitly read and set minimum height. (943c4f0)
  • Documentation
    • [Documentation] (f6237e3)
    • Fix menu doc. (86f8c51)
    • Updated BottomNavigation documentation. (b503287)
    • Fix typo in the word "checkbox". (bd5a96f)
    • Fixing typo. (af9570c)
    • Improving navigation rail documentation. (95a769c)
  • TextInputLayout
    • Apply tint when setting start icons (4044183)
    • Do not load default drawable if custom end icon is being used (717774e)
    • Make clear text icon focusable (8a4f42a)
    • [Documentation][TextInputLayout] (336042d)
    • Added a fade transition to placeholder TextView's appear and disappear. (c92e693)
    • Fixed cutout padding so text field outline doesn't overlap collapsed hint. (87b50c6)
  • Badging
    • Update badge position after clearing numbers (5973920)
    • Support differing offsets for badges with/without text, support badge width and padding in styles. (bd4914d)
  • MaterialDatePicker
    • Avoid NPE caused by getSelection() before created (cb5d622)
    • Fix opening at the selected date in the end month (eb7b114)
    • Fix DatePicker crashes and and potential issue of range selection (281688a)
    • Make calendar day of week label stying more flexible (37f0ca1)
  • TimePicker
    • Hide cancel button when it's not cancelable (35c2af3)
    • Make display divider styling more flexible (b420eab)
    • Make time text input fields stying more flexible (818f253)
  • MaterialShapeDrawable
    • Move static paint initialization to static block (b8c9f49)
  • ProgressIndicator
    • Added the OnAnimationEndListener adder and remover for spring animation used in determinate drawable. (cd5c2cc)
    • Fix NPE caused by animatorCompleteCallback not set (f732070)
    • Enabled switch from indeterminate mode to determinate mode while visible. (209bad3)
    • Fix first animated progress update issue. (f968731)
  • Snackbar
    • Handle anchor view properly so no memory leak will happen (58ceeab)
    • Fix memory leak caused by not resetting anchor views (b0558dc)
  • Chip
    • Fix icon tint states are not updated after setting new icon (c08a07d)
  • FloatingActionButton
    • Updated documentation for RTL support (9a603aa)
  • Slider
    • Do not invoke OnChangeListeners when restoring states (db8b239)
    • Fix halo showing under wrong thumbs (8431bd4)
  • Tabs
    • Redraw indicators after their color is updated (e92ebde)
  • CollapsingToolbarLayout
    • Added option to add extra height when title text spans across multiple lines (655dde0)
    • Added option to force always applying system window inset top regardless of layout_height (9ebf1a1)
    • Fixed multiline RTL collapsed title text position (af35dfb)
    • Added experimental setRtlTextDirectionHeuristicsEnabled() method (ae82585)
    • Added support for expanded and collapsed title text color attributes (5c14772)
    • Fixed RTL text only laying out as RTL when actual text is RTL (841f229)
    • Updated fade mode to allow expanded title to translate 1:1 with scrolling content. (c754183)
    • Added title line spacing and hyphenation frequency setters (f0ce498)
    • Added getLineCount() method (be85a92)
    • Added support for multiline RTL when using fade title mode (f0ac362)
    • Updated default multiline hyphenation frequency to StaticLayout.HYPHENATION_FREQUENCY_NORMAL (3ad232d)
    • Fixed multiline animation for fade title collapse mode (5a35bf7)
  • Catalog
    • Make card view demo paddings aligned with spec (65e99d0)
    • Remove theme switcher implementation (415ed74)
    • Fix system navigation bar demo (2a23ef4)
    • Replace theme switchers with preferences screen (ce84b58)
    • Add shape corner size preference to preferences screen (6e7be60)
    • Add shape preference to preferences screen (832e43f)
    • Implement app preferences mechanism in Catalog (3aa76da)
    • Refactored fab demos to improve alignment (9886810)
    • Added Navigation Rail demos to catalog. (401a5a8)
    • Removed full width button style and related dialog themes. Updated catalog dialog demo to showcase how to create dialogs with full width buttons. (95da705)
    • Update dialog main demo fragment to allow subclasses to override the theme overlay resources used in the demo. (15daf58)
    • Updated Catalog demo to show full width buttons in dialogs. (633ef0d)
  • Other
    • update library version to 1.5.0-alpha01 (4b9148c)
    • Update inset handling for Navigation Rail & Bottom Nav (501ef8e)
    • Fix progress indicator is not shown when set as the icon (456f135)
    • Updated documentation (48a5826)
    • Update @SuppressWarnings annotations for go/nullness diagnostics (ed719b2)
    • Updated navigationIconTint implementation to mutate drawable to prevent tinting drawable globally (e334332)
    • Adding android:textColor support (7adfd93)
    • Fix title fade mode collapsing title position errors. (0ef2e91)
    • Added a TextAppearanceConfig.shouldLoadFontSynchronously() check to allow forcing synchronous font loading for edge cases (9b92fd8)
    • Updated androidx.core dependency from 1.5.0-rc01 to 1.5.0 stable (ea2b0bc)
    • Fix catalog preference state restoring issue (967745a)
    • Fix test missing assertion (265055f)
    • Added manual constructor for ElevationOverlayProvider. (43cfc05)
    • Added elevation overlay accent color option (2c557b6)
    • Update compile sdk version to 30 (5c0b8d6)
    • Added compress scroll effect. (586d554)
    • Updated TextAppearance to load font synchronously if its cached. Also updates lib to depend on 1.5.0-rc01 for the ResourcesCompat#getCachedFont method. (0ad429d)
    • Added dimen resource for op...
Read more

1.4.0

02 Jul 13:38
Compare
Choose a tag to compare

What's new since 1.3.0

  • NavigationRailView (Docs)
  • Motion theming (Docs)

Other highlights

  • Support for centered titles in MaterialToolbar (cbf528e)
  • Max width for MaterialButtons (eb5453c)
  • Max width for BottomSheets (63d01aa)
  • Updated edge-to-edge support for BottomSheet (c15139a) (b163458) (c574e9e) (28c3254)
  • TextField's collapsed hint background no longer overlap with the field's background color (6015a4e)

Dependency Updates

Dependency Previous version New version
compileSdkVersion 29 30
androidx.core 1.2.0 1.5.0

Full list of changes

1.3.0...1.4.0

1.4.0-rc01

03 Jun 19:02
Compare
Choose a tag to compare

Dependency Updates

Dependency Previous version New version
androidx.core 1.5.0-rc01 1.5.0

Library Updates

  • CollapsingToolbarLayout
    • Fixed RTL text only laying out as RTL when actual text is RTL. (72b0c39)
    • Added experimental setRtlTextDirectionHeuristicsEnabled() method. (5af3643)
    • Fix title fade mode collapsing title position errors. (bab907f)
  • TextAppearance
    • Added a TextAppearanceConfig.shouldLoadFontSynchronously() check to allow forcing synchronous font loading for edge cases. (4e45c2c)

Full list of changes

1.4.0-beta01...1.4.0-rc01

1.4.0-beta01

07 May 19:23
Compare
Choose a tag to compare

Compile SDK Version changed to API 30.

Dependency Updates

Dependency Previous version New version
androidx.core 1.2.0 1.5.0-rc01

Library Updates

  • NavigationBarView
    • Moves OnNavigationItem listeners to the NavigationBarView class (0ad4a8d)
  • TextInputLayout
    • Fixed cutout padding so text field outline doesn't overlap collapsed hint. (1c7b75f)
  • MaterialButton
    • Updated Material Button style to set the preferred maximum width to 320dp. (eb5453c)
  • Documentation
    • Improving navigation rail documentation. (dabdef9)
  • CollapsingToolbarLayout
    • Updated fade mode to allow expanded title to translate 1:1 with scrolling content. (1445e6d)
    • Added title line spacing and hyphenation frequency setters (3ea60e6)
    • Fixed multiline animation for fade title collapse mode (a29c93a)
    • Updated default multiline hyphenation frequency to StaticLayout.HYPHENATION_FREQUENCY_NORMAL (2c45dcc)
    • Added support for multiline RTL when using fade title mode (ffef9f6)
    • Added getLineCount() method (c9f7a61)
  • BottomAppBar
    • change cornersize to float to avoid truncation errors (7ffa571)
  • BottomSheet
    • read the edgeToEdgeEnabled value earlier in the lifecycle (9c842a2)
    • Adding a max width for bottom sheets to optimize for large screens. (63d01aa)
  • Other
    • Update compile sdk version to 30 (1234385)
    • Updated TextAppearance to load font synchronously if its cached. Also updates lib to depend on 1.5.0-rc01 for the
      ResourcesCompat#getCachedFont method. (d301145)

Full list of changes

1.4.0-alpha02...1.4.0-beta01

1.4.0-alpha02

31 Mar 18:02
Compare
Choose a tag to compare

Dependency Updates

  • No dependency updates.

Library Updates

  • Catalog
    • Updated catalog to showcase header view inside a Navigation Rail View. (6a37a55)
    • Updated catalog to demonstrate navigation rail in compact style. (ae8b185)
    • Updated Navigation Rail catalog demo to showcase a colored navigation rail with animated icons. (4ff1440)
    • Updated Navigtaion Rail catalog demo to showcase label visibility mode and menu gravity. (6cd0737)
    • Updated catalog demo to showcase navigation rail component. (547979e)
  • Other
    • Increment mdcLibraryVersion to 1.4.0-alpha02 (9bae8a7)
    • API Fixes (fed90a9)
    • Added setTheme api in builder to support passing theme via builder (6416467)
    • Fixed javadoc formatting issue for lerp function (06993c8)
    • Updated navigation rail documentation to update images and related example code. (b8ed2da)
    • Added support for centering title and subtitle (cbf528e)
    • Update packaging.yaml (a9a493f)
  • BottomSheet
    • Sets default for BottomSheetBehavior paddingTopSystemWindowInsets to true (6f220b1)
    • Allow opting out of edge to edge on the top (28c3254)
    • Only add OnApplyWindowInsetsListener if edgeToEdgeEnabled is true (33f5aef)
  • ProgressIndicator
    • Move canvas to the middle of the bounds, rather than by half the width/height. (dca33e3)
  • CollapsingToolbarLayout
    • Added support for fade out/in title collapse mode (9c75ad0)
    • Fixed Toolbar link errors in javadoc due to androidx vs framework Toolbar support (1f6ebe9)
  • Documentation
    • Updated progress indicator document to clarify a usage requirement for linear contiguous animation. (ca285ea)
    • Updating date picker doc. (be5d96d)
  • Transitions / Motion
    • Updated FadeThroughProvider to allow customization of the fade through threshold. (5d65278)
  • TextInputLayout
    • Adding setMinWidth and setMaxWidth methods on the TextInputLayout so it works as expected. (f97560d)
    • Fixed clear icon being displayed when the text field is not focused. (740a3d2)
    • Adding default, max and min widths for text fields to optimize for large screens. (81273ac)
  • BottomAppBar
    • Support fab with rounded corners in cradle (ef8ad4d)
  • Badging
    • Fix badge offset bug when attached and detached from a menu item on a toolbar. (948738e)
  • MaterialButtonToggleGroup
    • Fixed issues with uncheck and check methods (ffb2ad1)

Full list of changes

1.4.0-alpha01...1.4.0-alpha02

1.4.0-alpha01

22 Feb 21:01
Compare
Choose a tag to compare

Library Updates

  • NavigationRail
    • Added Navigation Rail component to the library. (e13610e) 🎉
    • Added documentation for navigation rail view component. (853c695)
    • Fixed spacing issue between destination icon and label. (585e0ff)
    • Fixed issue that caused navigation rail to show label for active destination in compact mode. (1c872e8)
    • Fixed issue that caused destination views to be smaller than the rail width. (42a19ab)
    • Extracted common logic from bottom navigation component into navigation package. (aca5bfb)
  • BottomSheet
    • Prevent adding half expanded accessibility action if fitToContents is true (2933600)
    • Automatically enable insets for ThemeOverlay style (c15139a)
    • Added flag to opt in to edge to edge behavior rather than only relying on the navigationBarColor (c574e9e)
    • Updated the way BottomSheet handles insets (b163458)
  • Documentation
    • Removed broken @link from MaterialButton Javadoc (25bf03e)
    • Fixed theme attr name for floatingActionButtonStyle (5b32b25)
  • ProgressIndicator
    • Updated "indicatorSize" in CircularProgressIndicatorSpec to be never less than twice of "trackThickness". (1fb57bc)
    • Fixed NPE while setting progress in the indeterminate mode after inflation. (7a9e3f6)
    • Fixed visibility bug in RecyclerView. (5910955)
    • Fixed not hidden when committed hiding is interrupted by window hiding (i.e., home button pressed). (196116f)
    • Fixed determinate drawable not fully shown when switched from indeterminate mode for the second time in SDK 19/21/23. (712f5f3)
    • Fixed indeterminate animation not playing after inflation/being visible in SDK 21. (86b70d7)
    • Updated linear indeterminate animation. (fdb420f)
    • Updated circular indeterminate animation. (2163e3d)
    • Added other predefined styles in document. (2a6715f)
    • Fixed incorrect visibility when used in the recycler view. (9ccad21)
    • Renamed indeterminateAnimationType enums "seamless" and "spacing". (e5375fc)
    • Removed unnecessary style attributes from catalog. (80b5cf6)
    • Added sized styles for circular type. (4ab8cb1)
    • Corrected comments for javadoc. (3795197)
    • Updated track thickness used in standalone demo as 2.5 dp. (968fb19)
    • Renamed some attributes. (9d7ae04)
    • Hid AnimatorDurationScaleProvider from API. (5ff62d3)
  • Transitions / Motion
    • Updated documentation to include motion theming (3d4a341)
    • Added theming to MaterialFadeThrough transition. (655caed)
    • Added theming to MaterialSharedAxis transition. (478b412)
    • Added theming to MaterialFade transition. (8e79c7e)
    • Changed motionPath theme attr format to enum|string (7e578e4)
    • Applied easing, duration, and path theme attributes to MaterialContainerTransform (5154eea)
    • Added easing, duration, and path theme attributes, as well as utilities to read them (186d5ed)
  • Catalog
    • Make demo links use minHeight instead of specifying height so they won't be truncated at large font sizes. (a8156be)
  • TimePicker
    • Fixed issues when re-using dialog instance (11169ce)
    • Changed clock face size to be dynamic (bf0d11b)
    • Fixed numbers glitching on first show of time picker (74350de)
    • Fixed text input mode to correctly restore state (76cf0eb)
    • Added dev docs (3eddfb9)
    • Renamed ThemeOverlay.MaterialComponents.MaterialTimePicker to ThemeOverlay.MaterialComponents.TimePicker to be more consistent with other time picker styles (4af9eab)
    • Changed text input view to a view stub (cbef0d3)
    • Removed hint setting (074ed18)
    • Use MaterialColors to correctly read CSLs with theme attributes (9f79157)
    • Make default theme overlay public (890b727)
  • Slider
    • Improve listener documentation (1f76fcc)
  • CollapsingToolbarLayout
    • Updated CollapsingToolbarLayout to support framework android.widget.Toolbar (<Toolbar) (036cff7)
  • Snackbar
  • TextInputLayout
    • Adjusted background of collapsed hint to not overlap with edit text's background. (6015a4e)
    • Fixed placeholder text not being properly announced. (40e33a7)
    • Fixed IndexOutOfBoundsException when trying to change end icon (dd0e697)
  • MaterialDatePicker
    • Fixed incorrect date being selected on scrollable months. (db42490)
    • Fixed NullPointerException on MonthAdapter.updateSelectedState (00e3320)
    • Localized numbers in month (3e79942)
    • Fixed day of week adapter localization for APIs before O (bec2de9)
  • Other
    • Do not show tooltip on long press for L and M devices to avoid freezing devices on repeated long press. (da2d826)
    • Remove duplicate state from BottomSheetBehavior#getState doc. (8f77050)

1.3.0

04 Feb 20:45
Compare
Choose a tag to compare

1.3.0-rc01

15 Jan 01:01
Compare
Choose a tag to compare

Dependency Updates

  • No dependency updates.

Library Updates

  • TimePicker
    • Fixed numbers glitching on first show of time picker (182b297)
    • Fixed text input mode to correctly restore state (f97779e)
  • MaterialDatePicker
    • Fixed incorrect date being selected on scrollable months. (d523523)
    • Fix NullPointerException on MonthAdapter.updateSelectedState(MonthAda… (dad7752)
    • Localized numbers in month (206699f)
    • Fixed day of week adapter localization for APIs before O (b4b624e)
  • ProgressIndicator
    • Fixed NPE while setting progress in the indeterminate mode after inflation. (c78c1ef)
    • Fixed the visibility bug in RecyclerView. (e9fcdf0)
    • Fixed not hidden when committed hiding is interrupted by window hiding (i.e., home button pressed). (814ce6d)
    • Fixed determinate drawable not fully shown when switched from indeterminate mode for the second time in SDK 19/21/23. (04ae5d7)
    • Fixed indeterminate animation not playing after inflation/being visible in SDK 21. (46d8fba)
    • Updated linear indeterminate animation. (1ff2d6a)
    • Updated circular indeterminate animation. (4dd1d84)

Full set of changes: 1.3.0-beta01...1.3.0-rc01

1.3.0-beta01

16 Dec 20:30
Compare
Choose a tag to compare

Dependency Updates

  • No dependency updates.

Library Updates

  • ProgressIndicator (new!)
    • Fixed incorrect visibility when used in the recycler view. (60723fd)
    • Renamed indeterminateAnimationType enums "seamless" and "spacing". (77cf940)
    • Removed unnecessary style attributes from catalog. (f7c4056)
    • Added sized styles for circular type. (e2a54da)
  • TimePicker (new!)
    • Renamed ThemeOverlay.MaterialComponents.MaterialTimePicker to ThemeOverlay.MaterialComponents.TimePicker to be more consistent with other time picker styles (130993d)
    • Changed text input view to a view stub (3a00d7a)
    • Removed hint setting (7915087)
    • Using MaterialColors to correctly read CSLs with theme attributes (9c9e6c4)
    • Making default theme overlay public (0e04c9d)
  • Chip
    • Updated javadocs @see methods to match the actual methods. (3a0de84)
  • CollapsingToolbarLayout
    • Updated CollapsingToolbarLayout to support framework android.widget.Toolbar (<Toolbar) (d568e55)
  • Snackbar
  • TextInputLayout
    • Fixed placeholder text not being properly announced. (1290f82)
    • Fixed IndexOutOfBoundsException when trying to change end icon (963ad14)
  • Other
    • Added or updated string translations for i18n / l10n (39f7d34)

Full set of changes: 1.3.0-alpha04...1.3.0-beta01