Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CollectionViewChallenge - Cloned Listen by Mockplus #37

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

techduggu
Copy link

I reproduced Listen app by Mockplus using CollectionView and its new features such as scrolling events, GridItemLayout, SnapPoints etc. I created this mockup from scratch hence I'm not sure its ListView version exists but it's damn easy to create horizontal view with collection of items using CollectionView.

Screenshots

Original Mockup: (Reference: https://dribbble.com/shots/4002107-Listen)

listen

My Mockup:

MyListenMockup

What went well?

CollectionView is easy to use and I found both's markup (ListView and CollectionView) can easily replace each other in XAML at any point. As I wanted to create horizontal scrolling view (similar to Carousel), I found CollectionView more suitable as it already contains GridItemLayout and its SnapPoint configuration is just cherry on the cake to display single item on the screen.

What didn't go well?

I ran into couple of difficulties and found below issues:

  1. No ItemAppearing event similar to ListView (However ViewCell Appearing event can be a workaround) - I wanted to use this feature to animate the song lyrics and change the font color on appearing of text (similar to original mockup) but had to use Xamarin Forms animation on label as a fallback.

  2. ScrollToRequested event doesn't listen if CollectionView scrolled manually - I found this to be more of a bug/missing feature as scrolling (either manually or programatically) should listen by the same event as it doesn't matter from the end-user perspective. I wanted to use the same ScrollToRequested event to perform the operations with manual scroll as well what I'm doing with 'Next' button programatically.

  3. SnapPointsAlignment - I tested with Android and found that first item has always slight off to the right even though I've mentioned it as SnapPointsAlignment="Center". If I hit 'Next' button (which further calls ScrollTo), it corrects its position.

How is the performance?

With the current mockup, I didn't find any issue with load time. However I will need to test by adding more songs to the collection. But I found issue with scrolling the collection view with SnapPoints enabled. It is kind of lagging and not a smooth user experience. Sometimes it even skips the item during scrolling (both programatically or manually).

Missing or Desired Things:

I would like CollectionView to have ItemAppearing, Scroll Change event to listen to manual scrolling, smooth scrolling with SnapPoints enabled for medium and large images (displaying one item on view).

Overall, Thanks and Kudos ❤ to all the Team Members behind implementation of CollectionView. It will definitely be the successor and enhanced version of ListView. 😎

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant