ABOUT THE EXTENSION
Creates a new RecyclerView and allows you to dynamically add widgets to it. Which can have their own styles depending on their type. This extension support extension addOns, which extends widget support. Basic extension supports Buttons,ImageButtons, Card, TextBox, Image, Arrangement, ProgressBar, RatingBar and Label.
“A flexible view for providing a limited window into a large data set.”
The RecyclerView recycles all the views inside it, creates only the views necessary to fill the screen size it occupies, and edits the existing views each time it is scrolled (and each time an item needs to be edited it changes position). RecyclerView is scalable compared to dynamic components, which is an option, but not recommended for larger data because widgets must be created the same number of times as the amount of data, which can (very likely) lead to a lot of errors in the performance of our applications.
Popups were added to show options over your widgets, you can choose between those two:
CUSTOM COMPONENT POPUP
Select your popup component and show it over every item.
Do item changes with animations.
Configure a placeholder component that will be displayed when the list is empty (image above).
Set a divider between each item, depending on RecyclerView layout manager.
Edit the layout manager easily and quickly according to your requirements. Supported layout managers : “GridView, ListView and StaggeredListView”.
The extension supports complementary widgets that are other extensions that allow the support of new widgets for our RecyclerView.
BASIC WIDGET PROPERTIES
Each widget has different editable properties than others, even addons could have their own properties and blocks, here is a list of some common properties:
How wide the widget wants to be.
How tall the widget wants to be.
Indicates how much of the extra space in the parent will be allocated to the widget.
Set if the arrangement should be a column(vertical) or a row(horizontal).
Specify the gravity of a container, all its content will be positioned according to its gravity.
Distance from edges to content.
Distance from the sides of the widget to the next (or the widget where it is contained).
The Z axis position.
Widget Background, it could be a color, an asset, an url, or a list of colors(for gradients).
BACKGROUND GRADIENT DIRECTION
in case the background of the widget is a gradient, we can select its direction
Is the text that the widget will display.
MAX TEXT LINES
It is the maximum number of lines that a widget can draw.
Placeholder text for TextBoxes.
HINT TEXT COLOR
Placeholder color for TextBoxes.
String that points to file, asset or url.
The method that Image uses to scale the picture.
Is the proportion with which the image will be scaled, from 0.0 to 1.0(full image size).
Images can apply a color over pictures.
Property “ItemsHaveDifferentSize”, if RecyclerView items size will be the same or won’t change, the property should be disabled, this way the RecyclerView could have even a better app performance. If the items have for example a label that will draw differents mount of line depending on data, this property should be enabled.
These blocks have to be used to start the recyclerview, you can add different widgets with their own style, edit the “Root arrangement” style and which widget it will be, those widgets “AddWidget” and “ChangeRootProperties” have to be used before “CreateRecycler”.
The “CreateRecycler” block adds the RecyclerView to the screen and make a link between data list and it. Any data change could be reflected using “Notify…” blocks.
These blocks can be used to change RecyclerView layout manager. Actually supports List, Grid and StaggeredGrid. They should be used with “SetLayoutManager” block.
The Style is a dictionary containing widget properties which could be used directly or in global Variables if it needs to be used in many widgets.
You can also make a list of Styles or Variable styles, if a widget need to copy a style but make some changes.
These blocks could be used after or before RecyclerView is initialized.
WIDGET EDITION BLOCKS
These widgets have the responsability of make widgets changes, each widget could react different to these blocks, as could not support them. AddOns could have their own edition blocks.
These widgets usually need two important variables, the widgetId(which was choosen when it was created) and the rowPosition(we can get it from events).
“OnBindView” is called when RecyclerView gets scrolled and shows a new item. “position” and “groupPosition” will be provided by the event, so we just need some blocks to edit the widgets when RecyclerView changes its position.
“OnPopupItemClicked” is called when a popup menu item is selected or when a custom popup closes.
“OnRecyclerCreated” is called when RecyclerView is on screen and ready to work.
“OnWidgetClicked” is called when any widget from any position is clicked, it returns the widgetId, position and rowPosition, so we can edit the widgets when they are clicked.
These blocks notify RecyclerView that data changed and then it updates the visible items.