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

Scrollable Headers and Footers #236

Closed
14 tasks done
davideas opened this issue Nov 22, 2016 · 0 comments
Closed
14 tasks done

Scrollable Headers and Footers #236

davideas opened this issue Nov 22, 2016 · 0 comments
Milestone

Comments

@davideas
Copy link
Owner

davideas commented Nov 22, 2016

New big functionality to be added.
Scrollable Headers and Footers are special items that scroll along with all others, but they don't belongs to main items (business items) and they are always handled by the adapter beside the main items. Those items should be persistently located at the first and last positions:

  • after refreshing the list.
  • after filtering (not when searchText is filled, they should not be filterable).
  • after a screen rotation with selected items.
  • during the endless scroll / loading more: progressItem becomes a footer item but it will be always displayed between the main items and the others footers.

Headers and Footers should also have the following characteristics:

  • cannot be selectable nor draggable.
  • cannot be inserted twice, but many can be inserted.
  • can be added and removed with certain delay without impacts for the current selection.
  • can be of any type (also expandable) so they can be bound at runtime with any data inside. When expanded, subItems will become headers or footers too.
  • won't be filtered because they won't be part of the main list, but added separately at the initialization phase (basically, implementing IFilterable will be useless).
  • adding, updating, removing, moving and swapping main items with specific positions, must always be done via previous call getGlobalPositionOf() as usual.
  • a new function to get the position of a main item without scrollable headers count.
  • showing / hiding headers should continue to work.
  • (postponed) if possible the scrollable headers can switch to sticky headers as well, if the option is enabled.
  • (to evaluate!) the size of onUpdateEmptyView() parameter should represents the main item count.
  • dragging main items should not impact the headers and footers.
@davideas davideas added this to the 5.0.0-rc1 milestone Nov 22, 2016
davideas added a commit that referenced this issue Nov 23, 2016
Adapted demo App to use the new functionality
davideas added a commit that referenced this issue Nov 28, 2016
… handled:

- Fixed refreshing the list.
- Fixed screen rotation with selected items.
- Fixed delayed adding and removing without impacts for the current selection.
- Adding, updating, removing, moving and swapping main items with specific positions, must always be done via previous call getGlobalPositionOf() as usual.
- Updating the empty view gives the size of the main items, excluding headers/footers (this must be evaluated with the others developers).
- Fixed showing / hiding headers positions.
- Modified the demoApp to use the new items

Resolves #233 - New EndlessScrollListener behaviors for onLoadMore() and onLoadMoreComplete(). Loading more now handles:
- New items less than pageSize previously set.
- Total item count reached the target previously set.
- None of the above is set, the Adapter will always attempt to load more.
- Endless scroll / loading more: progressItem becomes a footer item but it will be always displayed between the main items and the others footers.
- Prepared the code to loading more on the Top.
- Modified the demoApp to show how to use the new progressItem
davideas added a commit that referenced this issue Nov 29, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant