[Paid] RecyclerView Extension : An Advance Recycler View

[Paid] Recycler View Extension : An Advance Recycler View

The RecyclerView extension for MIT App Inventor 2 is a powerful tool that enhances the functionality of the RecyclerView. It provides advanced features and customization options to create dynamic and interactive lists with ease. With this extension, you can implement features such as swipe gestures, drag-and-drop functionality, over-scroll effect, 51+ animations and more, making your app’s user interface more engaging and intuitive.


:v: Multi-Components


image

:recycle: Recycler View


:spiral_notepad: Designer Properties


:purple_square::heart: Initialize

You need to initialize the main recycler view into a layout.


image

  • layout - Setup any arrangement as layout to initialize recycler view.
  • layoutManager - Set layout manager by extension functions. See demo blocks to understand.
  • snapHelper - Set snap helper by extension functions. See demo blocks to understand.
  • data - Set your item data as list. (Parent list is also supported)

:purple_square::heart: Layout Managers


There are 15 layout managers is available right now. I’ll try to add new more awesome layout managers.

:purple_square::heart: Snap Helpers

I’ll try to add new more snap helpers.


image

:yellow_square: Create View

Here you need to create views dynamically. You can use any dynamic components to create your own design view or you can use this extension’s dynamic functions to create view.


image

  • rootView- It’s returning the root view to create new views into this root view.

:yellow_square: Bind View

Here you need to bind data to created views.


image

  • rootView - It’s returning the root view where all child views were added.
  • position - It’s returning the position of root view.
  • dataItem- It’s returning the item from the data list by it’s position.

:yellow_square: View Attached To Window

It’s triggered when view attached to window.


image

  • rootView - It’s returning the root view where all child views were added.
  • position - It’s returning the position of root view.

:yellow_square: View Detached From Window

It’s triggered when view detached from window.


image

  • rootView - It’s returning the root view where all child views were added.
  • position - It’s returning the position of root view.

:yellow_square::heart: Scroll State Changed

It’s triggered when scrolling state is changed.


image

  • scrollState- It’s returning the scrolling state.

:yellow_square: Scrolled

It’s triggered when user scroll.


image

  • dx - It’s returning the dx position.
  • dy - It’s returning the dy position.

:yellow_square: Left Swiped

It’s triggered when any item swiped to left.


image

  • position - It’s returning the item position.

:yellow_square: Right Swiped

It’s triggered when any item swiped to right.


image

  • position - It’s returning the item position.

:yellow_square: Dragged

It’s triggered when items are dragged or moved between them.


image

  • fromPosition - It’s returning the from item position.
  • toPosition - It’s returning the to item position.

:yellow_square: Over Scrolled

It’s triggered when list views is over scrolled.


image

  • state - It’s returning the state of over scrolled.
  • offset - It’s returning the over scrolled offset.

:yellow_square: Item Selected


image

  • position - Return the selected item position.

:yellow_square: Page Released


image


:yellow_square: Page Selected

image


:green_square: Scroll To Position

Use this function to directly scroll to given position.


image


:green_square: Smooth Scroll To Position

Use this function to directly scroll to given position smoothly.


image


:purple_square: Stop Scroll

Use this function to stop any type of scroll.


image


:green_square: AddGapDecorator

Use this function to add gap between items.


image


:green_square: Get Data

It’s returning the given data list.


image


:purple_square: Clear List View

Use this function to make the list view empty.


image


:green_square: Update Data

Use this function to update views with new or modified list item. It will recreate all views.


image


:green_square: Update Data Smoothly

Use this function to update data smoothly with huge data. It will just recreate only new or modified views. (DiffUtils)


image


:purple_square: Notify Data Set Changed

You can use this function to manually notify the adapter to re-create all views after any changes to views.


image


:green_square: Notify Item Changed

Use this function to notify the adapter for re-create view for given position.


image


:green_square: Notify Item Inserted

Use this function to notify adapter to add item to given position.


image


:green_square: Notify Item Removed

Use this function to notify adapter for remove item from given position.


image


:purple_square: Notify Item Moved

Use this function to notify adapter for item moving by given positions.


image

  • fromPosition - Set item position from where to move item.
  • toPosition - Set item position to where to move item.

:purple_square: Notify Item Range Changed

Use this function to notify adapter for multiple items changed.


image

  • positionStart - Set start position.
  • itemCount - Set item count.

:purple_square: Notify Item Range Inserted

Use this function to notify adapter for multiple items insertion.


image

  • positionStart - Set start position.
  • itemCount - Set item count.

:purple_square: Notify Item Range Removed

Use this function to notify adapter for multiple items removed.


image

  • positionStart - Set start position.
  • itemCount - Set item count.

:purple_square: Get Root View

Use this function to get root view by child view.


image


:purple_square: Get Root View By

Use this function to get root view by item position. For using this function the item should be showing into list items.


image

  • position - Set item position.

:purple_square: Get Position

Use this function to get item position by root view.


image

  • rootView - Set root view.

:green_square: Get Adapter Position

Using this properties you can get adapter position.


image


:green_square::heart: Swipe Left Properties



:green_square::heart: Swipe Right Properties

Set true to enable right swipe.



:green_square::heart: Draggable

Set true to enable dragging items between them.


image


:green_square::heart: Fixed Size

Set true to improve performance.


image


:green_square::heart: Nested Scrolling

Set false to improve scrolling.


image


:green_square::heart: Over Scroll

Set true to enable over scroll effect.


image


:green_square: Animation Duration

Set item animation duration in milliseconds.


image


:green_square::heart: AlwaysAnimate

Set false to animate only on first scroll.


image


:green_square::heart: Item Animator

Chage item animation from available animations.


image


:leaves: Recycler Components


:purple_square: Create Component

Use this function to create dynamic views.


image

  • parent - Set view where to create new view.
  • name - Set the name of component to create view.
  • tag - Set tag for view.
  • properties - Set properties for view.

:purple_square::heart: Create Template

Use this function to create dynamic views using JSON template.


image

  • in - Set view where to create new views.
  • template - Set schema template or JSON file to create views.
  • parameters - Set parameters for dynamic views.

:purple_square: Set Property

Use this function to set properties for any dynamic view.


image

  • component - Set view to apply properties.
  • name - Set property name.
  • value - Set property value.

:purple_square: Set Properties

Use this function to set properties for any dynamic view.


image

  • component - Set view to apply properties.
  • properties - Set properties.

:purple_square: Set Unique Id

Use this function to set unique id to view. It’s required to use click listener.


image

  • component Set view to apply unique id.
  • uniqueId - Set id for view.

:purple_square: Get Unique Id

Use this function to get unique id for any view.


image

  • component - Set view to get unique id.

:purple_square: Get Component

Use this function to get child view from parent view by it’s tag.


image

  • parent - Set the root view.
  • tag - Set tag to find view.

:purple_square: Get Component By Id


image


:purple_square: Is Dynamic Component

It’s returning true if the view is created dynamically.


image

  • component - Set view.

:purple_square: Get Property


image


:purple_square: Get Component Name

It’s returning the name of component. You can use this function to get the actual name of in-built components.


image

  • component - Set any in-build component to get it’s name.

:purple_square: :point_up_2: :yellow_square: Click Listener


image


:purple_square: Animate View On Click

Use this function to animate root view when clicked.


image

  • component - Set view to animate.
  • duration - Set duration in milliseconds.

See example

Example JSON: (Rename it like json-template.json)
json-template.txt (4.8 KB)

Example blocks:

Example output:
lv_0_20240707121300


:receipt: Extension Specifications


:floppy_disk: Size: 268 KB
:heavy_dollar_sign: Price: $15 USD
:earth_americas: Released On: 2024-07-06T18:00:00Z
:credit_card: Payment methods: Direct Download | PayPal | Skrill | TransferWise (Wise) | Xoom | Airtm | Binance | Crypto | Pyypl | Card Payment | UPI (:india:) | JazzCash (:pakistan:) | Bkash (:bangladesh:)


1 Like

Again a fantastic show by @JEWEL !!

1 Like

Great extension @JEWEL keep it up

1 Like

Thanks and best wishes to all :heart:

Great Extension :fire:

2 Likes