ABOUT THE EXTENSION
The purpose of this extension is to make wour work minus hard, by simplifyng the mount of blocks you could use to create designs for listview, second and the most important, make the user experience better, make your apps fluid.
The extension is based on RecyclerView, which means that support all its features. But what’s recyclerview? Android Developers page says:
“A flexible view for providing a limited window into a large data set.”
But what does this exactly means? Well, some koders asked on what’s the difference between using this and dynamic components. There are a lot of differences, First, let’s suppose you have a big list data and need to show it in a ListView, but you need custom design on your listview, then you could choose on using Dynamic Components, but there’s a problem, We know dinamyc components create widgets when we want to, so, if we do this for every item in our data list, there will be a LOT of widgets in our screen, this is a memory killer, doing this will produce a fluidity issue, the user experience will not be pleasant.
So what does the RecyclerView do for this purpose? It simply as its name says, recycles the views(widgets in this case).
Look, when you scroll the listview(recyclerview, I’m referring they both the same) the widget at the start goes to the last plus one, and then calls the OnBindView event to edit the content for the new position.
So the widgets that this generates are just the necessary to fill your screen. That is why Android recomends on using RecyclerView for listing data into widgets.
How the extension works?
As showed up above, the Android’s RecyclerView works this way, add the recyclerview to your arrangement, load your widgets design to every row and finally calls the event OnBindView to edit the widgets. This extension provides all of these features.
But older extension has a problem, for create a simple design you should use a lot and large blocks, but now there’s a way to change this. How? Using styles, styles are a group of properties-values that you set to your widgets, so you just have to edit the widget’s properties that you want.
This is an style:
In the block above, I’m just changing the Height and Width properties of Label. There’s another way too, using it in variables, that let us use them in many widgets
Ok and there’s another way, suppose we want to apply just some properties of the style. There’s a block for doing this.
Look, secondlabel will have thos labelStyle’s propertis Width and Height but also will have two more ‘FontSize’ and ‘FontTypeface’
Ok, now let’s see the parent field and what it means. both firstlabel and secondlabel in above blocks, have ‘top’ in parent field, this means that they are ‘top’ children, ‘top’ is added before they, it is an arrangement and will contain these labels. Ex.
- Buttons and ImageButtons
As you saw up there, the properties blocks start with an ‘S’ and there are also some values that are supposed to be used to those properties.
Some properties you can change to the widgets:
–Margin and Paddign(Supported for all the widgets)
New CustomListView Extension
After Kodular introduced Dictionaries, I found a way to make the extension use fewer blocks. Now you can make all the designs you want to, using fewer blocks.
–Width, Height and Weight(All widgets)
–Stroke, Background and Gradient(All supported for all the widgets)
For arrangement disposition :
Specifies if the widget should have a click listener, and set it back to the OnWidgetClicked event.
–Button icon(buttons only)
–Image Properties (images only)
- ImagePath : url, file path or asset to your picture.
- ImageRoundedPicture: Specify if all the pictures that you set to the image should be cropped circle.
- ScaleSize: Specify the image quality from 0 to 10(max quality).
–Labels, Buttons and TextBoxes properties
Some default values for the properties
These blocks allow the edition , when you scroll the listview, the widgets that changes its position needs to be edited according to the position they are.
The advantage of this new version is that you can edit properties to many widgets just using one of these blocks. This block s have three ways for usage.
Fisrt way, edit the widgets sepparated by commas, and pass the values in a list, ex. colors. Red for label1, blue for label2 and lightblue for label3.
Second way, edit those widgets but just apply the same color for all.
And last, apply the change to one widget.
- There’s also a block to get TextBox’s text
- rowPosition is given by events OnWidgetClicked and OnBindView
Called when widgets are coming visible for every scroll. EditBlocks should be used here.
Called when a widget is clicked, you can use EditBlocks here too to perform actions like changing colors, text, visibility or other properties here.
Is very simple, first add the ListView to your arrangement, then start the design by using the ‘Add’ blocks, and apply styles for them, then Display the listview with data(list), ex. list of lists.
Finally, configure OnBindView to change the widgets.
SOME NEW FEATURES
- Edit many blocks with just one block.
- Load pictures, from assets, from file or from web url.
- Capacity to round your pictures for images.
- BACKGROUNDS [GRADIENT(many colors as you want), OVAL, CIRCLE] for every widget.
- Round corners and borders, with custom color and width.
- Transform the pictures, with scale size for larger images.
- Images support scale type.
- Shadows for every widget.
Allowed Background Color formats
For adding borders to your widgets, just add StrokeColor to your styles
UPDATE VERSION 2
- Responsive design.
- Fixed button design problems.
PREVIEW AND DEMO APK
[NEW DESIGN EXAMPLE]
project1.apk (5.5 MB)
Buy now this extension.
Extension will be send by email after pay.
[BUY VIA PAYPAL](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6UL97RUDHDJEL