23 Commits

Author SHA1 Message Date
rightnao
74b5900aaa [Carousel] Make carousel internal classes public to enable custom strategies
PiperOrigin-RevId: 679710469
2024-10-01 18:41:44 +00:00
rightnao
8c541e6b25 [Carousel] Prevent scrolling if there's less items than focal keylines
PiperOrigin-RevId: 625466841
2024-04-17 18:04:41 +00:00
rightnao
9393b9779e [Carousel] Support unclipped padding for uncontained variant of carousel
PiperOrigin-RevId: 625101250
2024-04-16 17:52:05 +00:00
pekingme
46fa6465fe [Cleanup] Internal change
PiperOrigin-RevId: 608668937
2024-02-29 08:27:55 -08:00
Material Design Team
5471b8d37a Internal change
PiperOrigin-RevId: 607976596
2024-02-26 13:44:54 -08:00
rightnao
1ef42e2f23 [Carousel] Shift keylines in contained strategies when there exists padding, and clipToPadding=false
PiperOrigin-RevId: 595162372
2024-01-03 20:58:38 +00:00
rightnao
fb9c1c6edf [Carousel] When navigating with keyboard, scroll focused item to nearest focal keyline, not the first focal keyline
PiperOrigin-RevId: 573024609
2023-10-13 12:37:16 -07:00
rightnao
4a6ae4d0b6 [Carousel] Update scroll offset to scroll to the estimated position that it was at upon an initial load
Resolves https://github.com/material-components/material-components-android/issues/3590

PiperOrigin-RevId: 568642330
2023-09-26 20:55:25 -04:00
rightnao
9d81cac125 [Carousel] Add left-aligned uncontained strategy
PiperOrigin-RevId: 559197283
2023-08-23 19:28:53 +00:00
pubiqq
dc91b39d7c [Carousel] Update mask size on size change if mask x percentage has been set
Resolves https://github.com/material-components/material-components-android/pull/3450

GIT_ORIGIN_REV_ID=df8a325da6e4a796ab33d93e2ba165e40da8733e
Co-authored-by: imhappi
PiperOrigin-RevId: 558207460
2023-08-18 22:40:13 +00:00
hunterstich
64b066a0c4 Automated g4 rollback of changelist 546859519
PiperOrigin-RevId: 547258405
2023-07-11 19:39:14 +00:00
hunterstich
14023d2c85 [Carousel] Fixed MaskableFrameLayout not updating mask after size change when setting the mask using setMaskXPercentage.
This also fixes the default list catalog demo not displaying any items due to every item's mask having an empty maskRect.

Resolves https://github.com/material-components/material-components-android/pull/3450

PiperOrigin-RevId: 546859519
2023-07-11 19:38:42 +00:00
rightnao
6b48d3bb80 [Carousel] Add vertical scrolling capability
PiperOrigin-RevId: 542943240
2023-06-27 13:37:53 +00:00
rightnao
9486de5f2f [Carousel] Ensure that masks are pushed out beyond the parent bounds if they are _on_ the parent bounds
PiperOrigin-RevId: 540105089
2023-06-14 15:14:54 +00:00
hunterstich
85b6d5018d [Carousel] Fixed multi browse strategy clipping extra small items before being fully collapsed
This moves mask rect calculation from MaskableFrameLayout into CarouselLayoutManager so CarouselLayoutManager can change the offsetting of the mask inside a child and clip according to both the keylines and the carousel container boundary.

PiperOrigin-RevId: 533082558
2023-05-22 18:34:32 +00:00
rightnao
8938da8c28 [Carousel] Add CarouselSnapHelper
PiperOrigin-RevId: 529457461
2023-05-04 17:00:56 -04:00
hunterstich
9d0732be9e [Carousel] Fixed child index bug causing items to be ordered incorrectly.
When filling the RecyclerView, views need to be added at the correct index (either begginning or end) depending on the direction of fill.

PiperOrigin-RevId: 513510079
2023-03-03 16:25:30 +00:00
hunterstich
220415d3c1 [Carousel] Fixed scroll offset calculation error when last focal keyline comes after the last child
Calculating end scroll offset was using the distance between the last child and the last focal keyline. When the last child came before the last keyline, an unexpected scroll offset was returned. This also adds a dropdown to the catalog demo to allow setting the number of items in the carousel.

PiperOrigin-RevId: 508739119
2023-02-10 22:52:03 +00:00
hunterstich
795979c283 [Carousel] Fixed MultiBrowseCarouselStrategy method visibility.
PiperOrigin-RevId: 508728594
2023-02-10 22:51:19 +00:00
hunterstich
4b1a890e60 [Carousel] Renamed Maskable.getMaskRect to Maskable.getMaskRectF
PiperOrigin-RevId: 508626230
2023-02-10 14:25:59 +00:00
hunterstich
fc0f53a0cd [Carousel] Renamed CarouselConfiguration to CarouselStrategy.
PiperOrigin-RevId: 508619540
2023-02-10 14:24:39 +00:00
hunterstich
8014267740 [Carousel] Changed CarouselConfiguration to have an empty constructor and pass Carousel in through onFirstChildMeasuredWithMargins
PiperOrigin-RevId: 508389752
2023-02-09 18:25:29 +00:00
hunterstich
4ecba81de6 [Carousel] Release carousel component
PiperOrigin-RevId: 501635363
2023-01-12 12:25:52 -08:00