dotnet / dotnet/maui

The MaximumVisible property in the IndicatorView is not working correctly

Open
#28,036 3 comments 1 reaction 0 assignees View on GitHub
area-controls-collectionview platform/android platform/ios t/bug
Dominant language
C#
Stars
23.3k
Forks
2k
Avg merge
1d 15h
Merged PRs (30d)
290

Description

### Description

If the indicator is not limited in the CarouselView, it continues infinitely on Android, while on iOS it automatically sets a maximum of 10 visible indicators, not displaying them fully, and the indicator change animation is visible.
But if it's limited using MaximumVisible, it simply cuts off the last points. Once we reach the limit, the indicator stops updating and stays on the last point just if there are more items in carousel.

If there are too many items(Android)
https://github.com/user-attachments/assets/c1682336-f6f4-4607-8f97-c8626500c85c

If there are too many items(iOS) I think it should be like this
https://github.com/user-attachments/assets/79da1ec3-ed98-4e5d-8e32-e1595cc625b4

If items count 10 and IndicatorViews MaximumVisible property is 5(Android)
https://github.com/user-attachments/assets/27e57b74-71e4-4ae1-a8be-04c0cefa32e1

If items count 10 and IndicatorViews MaximumVisible property is 5(iOS)
https://github.com/user-attachments/assets/717912a2-42a5-4cf4-ab5c-4907821d9a31

### Steps to Reproduce

1. Create Maui app
2. Create CarouselView
a) with items count near 50
b) with items count more than MaximumVisible property in IndicatorView
3. Create IndicatorView
a) without MaximumVisible
b) with MaximumVisible, let it be 5
4. Connect them
5. Swipe to last one

### Link to public reproduction project repository

https://github.com/EugeneTryF/IndicatorViewIssue

### Version with bug

9.0.40 SR4

### Is this a regression from previous behavior?

Not sure, did not test other versions

### Last version that worked well

Unknown/Other

### Affected platforms

Android, iOS, I was *not* able test on other platforms

### Affected platform versions

Android 9 API 28, Android 15 API 35, iOS 16.0, iOS 18.3

### Did you find any workaround?

_No response_

### Relevant log output

```shell

```

Contributor guide

Open the contributing guide

Research direction

Start with the linked IndicatorViewIssue reproduction project and trace how CarouselView is connected to IndicatorView on Android and iOS. Reproduce the cases with many items and MaximumVisible set to 5, then compare the indicator behavior with the expected screenshots; done means indicators continue updating past the visible limit without being cut off.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.