Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
xtuzy authored Jun 23, 2023
1 parent 5d20437 commit 1fa87b7
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# MauiUICollectionView
# MAUICollectionView
- This is an experiment with a custom CollectionView, which does not use the native UICollectionView/RecyclerView, but is based on Maui's ScrollView. This idea from FlatList in ReactNative and iOS's TableView, they are base on ScrollView.

- We know UICollectionView/RecyclerView is a high performance way to show list, they get high performance by recycle view. In this library, i also do it.
Expand All @@ -14,13 +14,15 @@ https://user-images.githubusercontent.com/17793881/242142431-e5647e76-e297-4fc6-


## Features
- Cross Platform, as long as the ScrollView behaves consistently
- Support for custom layouts

## How it works
If we have 1000 data, we can create 1000 views, and add to Content, then we can scroll and see all data, but it is slow, because create/measure/layout 1000 views need a lot of time. So we need try to not create 1000 views.

When ContentSize is larger than Bounds of ScrollView, we can scroll. So we can give ContentSize a large value, ScrollView always can scroll. When we scroll, some views will be visiable, some will be invisiable, we can recycle views of will be invisiable and provide them to will be visible Views. Then we adjust position of these views, it also can show all data.
- Cross Platform is very easy, beacause it base on ScrollView
- Support custom layout
- Support operation(Insert, Remove, Move, Update) animation
- Support load more
- Support go to item

*Features of Demo*
- RefreshView
- Context Menu

## Awesome Libraries
- [Chameleon](https://github.com/BigZaphod/Chameleon)
Expand Down

0 comments on commit 1fa87b7

Please sign in to comment.