[Paid] JewelRecyclerView : An Advanced Recycler View Extension

🏃‍♂️ JewelRecyclerView

An advanced recycler view extension for App Inventor.

:memo: Specifications


:package: Package: com.jewel.jewelrecyclerview
:floppy_disk: Size: 242.08 KB
:gear: Version: 1.1.0
:moneybag: Price: $10 USD
:iphone: Minimum API Level: 21
:date: Updated On: 2025-08-30T18:00:00Z
:computer: Built using: FAST v4.4.0-premium
:handshake: Supported builders: App Inventor, Kodular, Niotron, AndroidBuilder & others.
:credit_card: Payment methods: Download | Wise | Xoom | PayPal | Binance (Crypto) | UPI (:india:) | JazzCash (:pakistan:) | Bkash (:bangladesh:)
:u7533: Demo apk: RecyclerView.apk

Demo blocks


:handshake: Multi-Components

  1. JewelRecyclerView
  2. RecyclerComponents

:jigsaw: JewelRecyclerView

Events:

JewelRecyclerView has total 13 events.

1. CreateView

Event raised to create UI. Don't bind any data to the UI.

CreateView

Parameter Type
rootView component

2. BindView

Event raised to bind data to UI.

BindView

Parameter Type
rootView component
position number
dataItem list or nested list

3. ViewAttachedToWindow

Called when a view created by adapter has been attached to a window.

ViewAttachedToWindow

Parameter Type
rootView component
position number

4. ViewDetachedFromWindow

Called when a view created by adapter has been detached from its window.

ViewDetachedFromWindow

Parameter Type
rootView component
position number

5. ScrollStateChanged

Event raised when scroll state changes.

ScrollStateChanged

Parameter Type
scrollState JewelRecyclerScrollState (helper blocks)
  • Enums for JewelRecyclerScrollState: Idle, Dragging, Settling

6. Scrolled

Event raised when scroll event occurs.

Scrolled

Parameter Type
dx number
dy number

7. LeftSwiped

Event raised when an item swiped to left.

LeftSwiped

Parameter Type
position number

8. RightSwiped

Event raised when an item swiped to right.

RightSwiped

Parameter Type
position number

9. Dragged

Event raised when an item dragged.

Dragged

Parameter Type
fromPosition number
toPosition number

10. OverScrolled

Event raised when recycler view over scrolled.

OverScrolled

Parameter Type
state number
offset number

11. ItemSelected

Event raised when an item selected.
This event is only associated with CarouselLayoutManager and BannerLayoutManager.

ItemSelected

Parameter Type
position number

12. PageReleased

Event raised when page released. This event is only associated with ViewPagerLayoutManager.

PageReleased

Parameter Type
isNext boolean
position number

13. PageSelected

Event raised when page selected. This event is only associated with ViewPagerLayoutManager.

PageSelected

Parameter Type
position number
isBottom boolean

Methods:

JewelRecyclerView has total 28 methods.

1. Initialize

Initialize recycler view inside an arrangement.

Initialize

Parameter Type
layout component
layoutManager LayoutManager
snapHelper JewelRecyclerSnapHelper (helper blocks)
data list or nested list
  • Enums for JewelRecyclerSnapHelper: LinearSnapHelper, PagerSnapHelper

2. GroupSnapHelper

Build custom group snap helper.

GroupSnapHelper

  • Return type: JewelRecyclerSnapHelper
Parameter Type
groupCount number

3. GravitySnapHelper

Build custom gravity snap helper.

GravitySnapHelper

  • Return type: JewelRecyclerSnapHelper
Parameter Type
gravity JewelRecyclerGravity (helper blocks)
  • Enums for JewelRecyclerGravity: Start, End, Bottom, Top, Center

4. LinearLayoutManager

Create linear layout manager.

LinearLayoutManager

  • Return type: LayoutManager
Parameter Type
orientation JewelRecyclerOrientation (helper blocks)
reverseLayout JewelRecyclerBoolean (helper blocks)
  • Enums for JewelRecyclerOrientation: Vertical, Horizontal
  • Enums for JewelRecyclerBoolean: True, False

5. GridLayoutManager

Create grid layout manager.

GridLayoutManager

  • Return type: LayoutManager
Parameter Type
spanCount number
orientation JewelRecyclerOrientation (helper blocks)
reverseLayout JewelRecyclerBoolean (helper blocks)
  • Enums for JewelRecyclerOrientation: Vertical, Horizontal
  • Enums for JewelRecyclerBoolean: True, False

6. StaggeredGridLayoutManager

Create staggered grid layout manager.

  • Return type: LayoutManager
Parameter Type
spanCount number
orientation JewelRecyclerOrientation (helper blocks)
  • Enums for JewelRecyclerOrientation: Vertical, Horizontal

7. CarouselLayoutManager

Create CarouselLayoutManager.

CarouselLayoutManager

  • Return type: LayoutManager
Parameter Type
orientation JewelRecyclerOrientation (helper blocks)
circleLayout JewelRecyclerBoolean (helper blocks)
maxVisibleItems number
  • Enums for JewelRecyclerOrientation: Vertical, Horizontal
  • Enums for JewelRecyclerBoolean: True, False

8. VegaLayoutManager

Create vega layout manager.

VegaLayoutManager

  • Return type: LayoutManager

9. ShikderLayoutManager

Create shikder layout manager.

ShikderLayoutManager

  • Return type: LayoutManager

10. EchelonLayoutManager

Create echelon layout manager.

EchelonLayoutManager

  • Return type: LayoutManager

11. HiveLayoutManager

Create hive layout manager.

HiveLayoutManager

  • Return type: LayoutManager
Parameter Type
orientation JewelRecyclerOrientation (helper blocks)
  • Enums for JewelRecyclerOrientation: Vertical, Horizontal

12. BannerLayoutManager

Create banner layout manager.

BannerLayoutManager

  • Return type: LayoutManager
Parameter Type
orientation JewelRecyclerOrientation (helper blocks)
realCount number
timeDelayed number
timeSmooth number
  • Enums for JewelRecyclerOrientation: Vertical, Horizontal

13. ViewPagerLayoutManager

Create view pager layout manager.

ViewPagerLayoutManager

  • Return type: LayoutManager
Parameter Type
orientation JewelRecyclerOrientation (helper blocks)
reverseLayout JewelRecyclerBoolean (helper blocks)
  • Enums for JewelRecyclerOrientation: Vertical, Horizontal
  • Enums for JewelRecyclerBoolean: True, False

14. ZoomLayoutManager

Create zoom layout manager.

ZoomLayoutManager

  • Return type: LayoutManager
Parameter Type
orientation JewelRecyclerOrientation (helper blocks)
reverseLayout JewelRecyclerBoolean (helper blocks)
  • Enums for JewelRecyclerOrientation: Vertical, Horizontal
  • Enums for JewelRecyclerBoolean: True, False

15. FocusLayoutManager

Create focus layout manager.

FocusLayoutManager

  • Return type: LayoutManager
Parameter Type
layerPadding number
normalViewGap number
focus JewelRecyclerFocus (helper blocks)
isAutoSelect JewelRecyclerBoolean (helper blocks)
maxLayerCount number
  • Enums for JewelRecyclerFocus: Left, Right, Top, Bottom
  • Enums for JewelRecyclerBoolean: True, False

16. CoverFlowLayoutManger

Create cover flow layout manager.

CoverFlowLayoutManger

  • Return type: LayoutManager
Parameter Type
isFlat JewelRecyclerBoolean (helper blocks)
isGreyItem JewelRecyclerBoolean (helper blocks)
is3DItem JewelRecyclerBoolean (helper blocks)
isAlphaItem JewelRecyclerBoolean (helper blocks)
cstIntervalRatio number
isLoop JewelRecyclerBoolean (helper blocks)
  • Enums for JewelRecyclerBoolean: True, False

17. TurnLayoutManager

Create turn layout manager.

TurnLayoutManager

  • Return type: LayoutManager
Parameter Type
gravity JewelRecyclerGravity (helper blocks)
orientation JewelRecyclerOrientation (helper blocks)
shouldRotate JewelRecyclerBoolean (helper blocks)
radius number
peek number
  • Enums for JewelRecyclerGravity: Start, End, Bottom, Top, Center
  • Enums for JewelRecyclerOrientation: Vertical, Horizontal
  • Enums for JewelRecyclerBoolean: True, False

18. ChipsLayoutManager

Create chips layout manager.

ChipsLayoutManager

  • Return type: LayoutManager
Parameter Type
maxViewsInRow number
gravity JewelRecyclerGravity (helper blocks)
orientation JewelRecyclerOrientation (helper blocks)
  • Enums for JewelRecyclerGravity: Start, End, Bottom, Top, Center
  • Enums for JewelRecyclerOrientation: Vertical, Horizontal

19. NotifyDataSetChanged

Notify any registered observers that the data set has changed.

NotifyDataSetChanged

20. NotifyItemMoved

Notify any registered observers that the item reflected at from has been moved to to.

NotifyItemMoved

Parameter Type
fromPosition number
toPosition number

21. NotifyItemRangeChanged

Notify any registered observers that the currently reflected count items starting at startPosition have been newly inserted.

NotifyItemRangeChanged

Parameter Type
positionStart number
itemCount number

22. NotifyItemRangeInserted

Notify any registered observers that the currently reflected count items starting at startPosition have been newly inserted.

NotifyItemRangeInserted

Parameter Type
positionStart number
itemCount number

23. NotifyItemRangeRemoved

Notify any registered observers that the currently reflected count items starting at startPosition have been removed.

NotifyItemRangeRemoved

Parameter Type
positionStart number
itemCount number

24. GetRootView

Get root view using child view.

GetRootView

  • Return type: component
Parameter Type
component component

25. GetRootViewBy

Get root view by adapter position. This position view should be showing in list.

GetRootViewBy

  • Return type: component
Parameter Type
position number

26. GetPosition

Returns the Adapter position of the item represented by view.

GetPosition

  • Return type: number
Parameter Type
rootView component

27. StopScroll

Stop scrolling.

StopScroll

28. ClearListView

Clear the list views.

ClearListView

Designer:

JewelRecyclerView has total 19 designer properties.

Designer Properties

1. LeftSwipable

LeftSwipable

  • Input type: boolean
  • Default value: False

2. SwipeLeftBackgroundColor

SwipeLeftBackgroundColor

  • Input type: color
  • Default value: &HFFFFFFFF

3. SwipeLeftTextColor

SwipeLeftTextColor

  • Input type: color
  • Default value: &HFF000000

4. SwipeLeftText

SwipeLeftText

  • Input type: string

5. SwipeLeftTextSize

SwipeLeftTextSize

  • Input type: non_negative_integer
  • Default value: 12

6. SwipeLeftIcon

SwipeLeftIcon

  • Input type: asset

7. RightSwipable

RightSwipable

  • Input type: boolean
  • Default value: False

8. SwipeRightBackgroundColor

SwipeRightBackgroundColor

  • Input type: color
  • Default value: &HFFFFFFFF

9. SwipeRightTextColor

SwipeRightTextColor

  • Input type: color
  • Default value: &HFF000000

10. SwipeRightText

SwipeRightText

  • Input type: string

11. SwipeRightTextSize

SwipeRightTextSize

  • Input type: non_negative_integer
  • Default value: 12

12. SwipeRightIcon

SwipeRightIcon

  • Input type: asset

13. Draggable

Draggable

  • Input type: boolean
  • Default value: False

14. FixedSize

FixedSize

  • Input type: boolean
  • Default value: True

15. OverScroll

OverScroll

  • Input type: boolean
  • Default value: False

16. NestedScrolling

NestedScrolling

  • Input type: boolean
  • Default value: False

17. AnimationDuration

AnimationDuration

  • Input type: non_negative_integer
  • Default value: 1000

18. AlwaysAnimate

AlwaysAnimate

  • Input type: boolean
  • Default value: False

19. ItemAnimator

ItemAnimator

  • Input type: choices
  • Arguments: Default, Landing, FadeIn, FadeInDown, FadeInUp, FadeInLeft, FadeInRight, FlipInTopX, FlipInBottomX, FlipInLeftY, FlipInRightY, SlideInLeft, SlideInRight, SlideInLeftRight, OvershootInLeft, OvershootInRight, OvershootInLeftRight, SlideInUp, SlideInDown, BounceIn, Swing, Pulse, Jelly, RollIn, ZoomOut, ZoomIn, FireworkBurst, CascadingTiles, ShimmerIn, PopOut, SpiralIn, TumbleIn, DriftIn, GlitchIn, SwingIn, BounceAndScale, ConfettiRain, SparkleIn, RippleIn, FlutterIn, BurstIn, FloatIn, ElasticIn, SwirlIn, CometIn, LanternIn, ScaleIn, ScaleInTop, ScaleInBottom, ScaleInLeft, ScaleInRight, Random

Setters:

JewelRecyclerView has total 27 setter properties.

1. ScrollToPosition

Scroll to position.

ScrollToPosition

  • Input type: number

2. SmoothScrollToPosition

Smooth scroll to position.

SmoothScrollToPosition

  • Input type: number

3. AddGapDecorator

Add consistent gap between list items.

AddGapDecorator

  • Input type: number

4. UpdateData

Update data.

UpdateData

  • Input type: list or nested list

5. UpdateDataSmoothly

Update data smoothly (Powered by DiffUtil).

UpdateDataSmoothly

  • Input type: list or nested list

6. NotifyItemChanged

Notify any registered observers that the item at position has changed.

NotifyItemChanged

  • Input type: number

7. NotifyItemInserted

Notify any registered observers that the item reflected at position has been newly inserted.

NotifyItemInserted

  • Input type: number

8. NotifyItemRemoved

Notify any registered observers that the item previously located at 'position' has been removed from the data set.

NotifyItemRemoved

  • Input type: number

9. LeftSwipable

Set to true to enable swiping left.

LeftSwipable

  • Input type: boolean
  • Helper type: JewelRecyclerBoolean
  • Helper enums: True, False

10. SwipeLeftBackgroundColor

Set backgound color.

SwipeLeftBackgroundColor

  • Input type: number

11. SwipeLeftTextColor

Set left label color.

SwipeLeftTextColor

  • Input type: number

12. SwipeLeftText

Set swipe left label text.

SwipeLeftText

  • Input type: text

13. SwipeLeftTextSize

Set label text size

SwipeLeftTextSize

  • Input type: number

14. SwipeLeftIcon

Set label icon from asset

SwipeLeftIcon

  • Input type: text
  • Helper type: asset
  • Acceptable types: .jpeg, .jpg, .png

15. RightSwipable

Set to true to enable swiping right.

RightSwipable

  • Input type: boolean
  • Helper type: JewelRecyclerBoolean
  • Helper enums: True, False

16. SwipeRightBackgroundColor

Set background color.

SwipeRightBackgroundColor

  • Input type: number

17. SwipeRightTextColor

Set text color.

SwipeRightTextColor

  • Input type: number

18. SwipeRightText

Set swipe right text

SwipeRightText

  • Input type: text

19. SwipeRightTextSize

Set text size.

SwipeRightTextSize

  • Input type: number

20. SwipeRightIcon

Set icon from asset.

SwipeRightIcon

  • Input type: text
  • Helper type: asset
  • Acceptable types: .jpeg, .jpg, .png

21. Draggable

Set true to enable.

Draggable

  • Input type: boolean
  • Helper type: JewelRecyclerBoolean
  • Helper enums: True, False

22. FixedSize

Set true to enable fixed size.

FixedSize

  • Input type: boolean
  • Helper type: JewelRecyclerBoolean
  • Helper enums: True, False

23. OverScroll

Set true to enable over sroll effect.

OverScroll

  • Input type: boolean
  • Helper type: JewelRecyclerBoolean
  • Helper enums: True, False

24. NestedScrolling

Set true to enable.

NestedScrolling

  • Input type: boolean
  • Helper type: JewelRecyclerBoolean
  • Helper enums: True, False

25. AnimationDuration

Set duration in milliseconds

AnimationDuration

  • Input type: number

26. AlwaysAnimate

Set true to enable.

AlwaysAnimate

  • Input type: boolean
  • Helper type: JewelRecyclerBoolean
  • Helper enums: True, False

27. ItemAnimator

Set Animation that take place on items as changes are made to the adapter.

ItemAnimator

  • Input type: text
  • Helper type: JewelRecyclerAnimator
  • Helper enums: Default, Landing, FadeIn, FadeInDown, FadeInUp, FadeInLeft, FadeInRight, FlipInTopX, FlipInBottomX, FlipInLeftY, FlipInRightY, SlideInLeft, SlideInRight, SlideInLeftRight, OvershootInLeft, OvershootInRight, OvershootInLeftRight, SlideInUp, SlideInDown, BounceIn, Swing, Pulse, Jelly, RollIn, ZoomOut, ZoomIn, FireworkBurst, CascadingTiles, ShimmerIn, PopOut, SpiralIn, TumbleIn, DriftIn, GlitchIn, SwingIn, BounceAndScale, ConfettiRain, SparkleIn, RippleIn, FlutterIn, BurstIn, FloatIn, ElasticIn, SwirlIn, CometIn, LanternIn, ScaleIn, ScaleInTop, ScaleInBottom, ScaleInLeft, ScaleInRight, Random

Getters:

JewelRecyclerView has total 24 getter properties.

Getter Properties

1. FirstVisibleItemPosition

Returns the adapter position of the first visible view.

FirstVisibleItemPosition

  • Return type: number

2. FirstCompletelyVisibleItemPosition

Returns the adapter position of the first fully visible view.

FirstCompletelyVisibleItemPosition

  • Return type: number

3. LastVisibleItemPosition

Returns the adapter position of the last visible view.

LastVisibleItemPosition

  • Return type: number

4. LastCompletelyVisibleItemPosition

Returns the adapter position of the last fully visible view.

LastCompletelyVisibleItemPosition

  • Return type: number

5. GetData

Returns given data as list.

GetData

  • Return type: list or nested list

6. IsLeftSwipable

Returns true if enabled.

IsLeftSwipable

  • Return type: boolean

7. GetSwipeLeftBackgroundColor

Returns color as integer.

GetSwipeLeftBackgroundColor

  • Return type: number

8. GetSwipeLeftTextColor

Returns color as integer.

GetSwipeLeftTextColor

  • Return type: number

9. GetSwipeLeftText

Returns text as string.

GetSwipeLeftText

  • Return type: text

10. GetSwipeLeftTextSize

Returns label text size.

GetSwipeLeftTextSize

  • Return type: number

11. GetSwipeLeftIcon

Returns asset name as string.

GetSwipeLeftIcon

  • Return type: text

12. IsRightSwipable

Returns true if enabled.

IsRightSwipable

  • Return type: boolean

13. GetSwipeRightBackgroundColor

Returns color as integer.

GetSwipeRightBackgroundColor

  • Return type: number

14. GetSwipeRightTextColor

Returns text color as integer.

GetSwipeRightTextColor

  • Return type: number

15. GetSwipeRightText

Returns text as string.

GetSwipeRightText

  • Return type: text

16. GetSwipeRightTextSize

Returns text size as integer.

GetSwipeRightTextSize

  • Return type: number

17. GetSwipeRightIcon

Returns icon name as string.

GetSwipeRightIcon

  • Return type: text

18. IsDraggable

Returns true if enabled.

IsDraggable

  • Return type: boolean

19. HasFixedSize

Returns true if enabled.

HasFixedSize

  • Return type: boolean

20. IsOverScroll

Returns true if enabled.

IsOverScroll

  • Return type: boolean

21. IsNestedScrolling

Returns true if enabled.

IsNestedScrolling

  • Return type: boolean

22. GetAnimationDuration

Returns duration as milliseconds.

GetAnimationDuration

  • Return type: number

23. IsAlwaysAnimate

Returns true if enabled.

IsAlwaysAnimate

  • Return type: boolean

24. GetItemAnimator

Returns the current animator name.

GetItemAnimator

  • Return type: text

:jigsaw: RecyclerComponents

Events:

RecyclerComponents has total 2 events.

1. Clicked

Event invoked when a registered component is clicked.

Clicked

Parameter Type
component component
position number

2. LongClicked

Event invoked when a registered component is long clicked.

LongClicked

Parameter Type
component component
position number

Methods:

RecyclerComponents has total 15 methods.

1. CreateComponent

Create a new component inside any parent component.

CreateComponent

Parameter Type
parent component
name any
tag text
properties any

2. GetComponent

Get component using tag. Make sure to set RootParent before using.

GetComponent

  • Return type: component
Parameter Type
parent component
tag text

3. SetUniqueId

Set unique id of a view

SetUniqueId

Parameter Type
component component
uniqueId text

4. GetUniqueId

Get unique id from component.

GetUniqueId

  • Return type: text
Parameter Type
component component

5. SetProperty

Set a property for a component.

SetProperty

Parameter Type
component component or list of components
name text
value string or list of values

6. SetProperties

Set properties of a component. You can either use JSON string or dictionary to set properties.

SetProperties

Parameter Type
component component of list of components
properties dictionary or list of dictionary

7. GetProperty

Get a property value.

GetProperty

  • Return type: any
Parameter Type
component component
name text

8. IsDynamicComponent

Returns true if the given component is dynamic.

IsDynamicComponent

  • Return type: boolean
Parameter Type
component component

9. GetComponentName

Get component name

GetComponentName

  • Return type: text
Parameter Type
component component

10. GetComponentById

Make sure to set unique id before using this function.

GetComponentById

  • Return type: component
Parameter Type
uniqueId text

11. CreateTemplate

Create components using JSON template.
Note: If you're using asset file so the file name should be end with (.json).

CreateTemplate

Parameter Type
in component
template text (asset blocks)
parameters list
  • Acceptable types for template: .json

12. RegisterForClick

Register components for click.

RegisterForClick

Parameter Type
component component or list of component
position number

13. RegisterForLongClick

Register components for long click.

RegisterForLongClick

Parameter Type
component component of list of components
position number

14. UnregisterListners

Unregister click and long click listeners for components.

UnregisterListners

Parameter Type
component component of llist of components

15. AnimateViewOnClick

Animate any component on click.

AnimateViewOnClick

Parameter Type
component component
duration number

Getter:

RecyclerComponents has total 1 getter property.

1. GetUniqueIds

Returns all used uniuqe ids.

GetUniqueIds

  • Return type: list

1 Like