B4A Library [Lib, Chargeable] Amir_RecyclerView

Discussion in 'Additional libraries, classes and official updates' started by alimanam3386, Sep 15, 2018.

  1. alimanam3386

    alimanam3386 Active Member Licensed User

    New b4a library! :)

    RecyclerView, an important part of the sdk and android for making a custom list with better Layout , animation , and fixed for large data set.

    Amir_RecyclerView released new version that we call it AX_RecyclerView.

    version 1.0.8 is last update for Amir_RecyclerView and we will work on AX_RecyclerView only in future.

    RecyclerView Android X : https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView

    "RecyclerView is part of the v7 support library which means you can use it on anything that has api 7 and up"


    Advantages of using recyclerview instead listview:
    • ViewHolder Pattern
    In a ListView, it was recommended to use the ViewHolder pattern but it was never a compulsion. In case of RecyclerView, this is mandatory using the RecyclerView.ViewHolder class. This is one of the major differences between the ListView and the RecyclerView.
    • LayoutManager
    This is another massive enhancement brought to the RecyclerView. In a ListView, the only type of view available is the vertical ListView. There is no official way to even implement a horizontal ListView.

    Now using a RecyclerView, we can have a:

    i) LinearLayoutManager - which supports both vertical and horizontal lists,
    ii) StaggeredLayoutManager - which supports Pinterest like staggered lists,
    iii) GridLayoutManager - which supports displaying grids as seen in Gallery apps.

    And the best thing is that we can do all these dynamically as we want.
    • Item Animator
    ListViews are lacking in support of good animations, but the RecyclerView brings a whole new dimension to it. Using the RecyclerView.ItemAnimator class, animating the views becomes so much easy and intuitive.
    • Item Decoration
    In case of ListViews, dynamically decorating items like adding borders or dividers was never easy. But in case of RecyclerView, the RecyclerView.ItemDecorator class gives huge control to the developers but makes things a bit more time consuming and complex.​
    • OnItemTouchListener
    Intercepting item clicks on a ListView was simple, thanks to its AdapterView.OnItemClickListener interface. But the RecyclerView gives much more power and control to its developers by the RecyclerView. OnItemTouchListener but it complicates things a bit for the developer.

    For more info:

    You can add plugins as library and connect it to Amir_RecyclerView using a line of code

    Current Plugins :

    • Amir_RVHeaderFooter
    • Amir_RVToolbarParallax ( new )
    • Amir_RVEmptyView
    • Amir_RVCardSlider
    • Amir_RVCarousel
    • Amir_RVDiscrete
    • Amir_RVExpandable
    • Amir_RVFanLayout
    • Amir_RVFeature
    • Amir_RVItemPicker ( deprecated )
    • Amir_RVLayoutAnimation
    • Amir_RVMultiSelection
    • Amir_RVParallax
    • Amir_RVRefreshLayout
    • Amir_RVShimmer
    • Amir_RVSkidRight
    • Amir_RVSwipeCards
    • Amir_RVVegaLayout
    • Amir_RVViewPager
    • Amir_RVEchelon ( NEW )
    • Amir_WearableRecyclerView ( NEW )
    • Amir_RVDragItem
    • Amir_RVStickyHeader ( NEW )
    • Amir_RVAnimators ( NEW )
    • AX_RVSelection ( AndroidX )
    • AX_RVItemPicker ( AndroidX )
    • AX_RVPageIndicator ( New AndroidX )
    • Amir_RVChipsLayoutManager ( New )
    • AX_RVSwipeLayout 1.00 ( New AndroidX )
    • AX_RVHeaderParallax
    • Amir_RVCardViewAdapter

    Demo and samples how to use :

    Download the DEMO.apk ( updated in 28th of July 2019 )
    Download Demo Source Code

    Current version of Amir_RecyclerView : 1.1

    Be sure to check the apk sample before purchasing.

    You can have this fantastic library just with $25 ( only Amir_RecyclerView )
    Full packages include all plugins only $35

    Short documentations attached , special thanks to fredo


    After your purchase please send me an email with your purchase detail ( alimanam@gmail.com )

    Attached Files:

    Last edited: Sep 1, 2019
  2. scsjc

    scsjc Well-Known Member Licensed User

    awesome work :)

    now you have a new customer !!!
    Last edited: Sep 23, 2018
  3. Almora

    Almora Active Member Licensed User

    awesome work
  4. inakigarm

    inakigarm Well-Known Member Licensed User

    Great work !!
  5. Lello1964

    Lello1964 Active Member Licensed User

    Very, very good.
  6. Pooya1

    Pooya1 Active Member Licensed User

  7. fredo

    fredo Active Member Licensed User

    Really positively impressive.

    Q1) Is it also possible to load own layouts onto the panels via LoadLayout("...")?

    Q2) Is it possible to dynamically adjust the height of the individual panels to the content during the loading process?​
  8. alimanam3386

    alimanam3386 Active Member Licensed User

    Answer for Q1 AND Q2 , is YES very easy :
    Sub Globals
    Private ARV As Amir_RecyclerView
    Type Items ( itemTitle As String , itemDescription As String)
    Private AdapterList As List
    End Sub

    Sub Activity_Create(FirstTime As Boolean)
    Activity.AddView(ARV , 0 , 0 , 100%x , 100%y)
    For i = 1 To 10
    Dim item As Items
            item.itemTitle = 
    "Product title " & i
            item.itemDescription = 
    "Discription of product number " & i
    End Sub

    Sub ARV_GetItemCount As Int
    Return AdapterList.Size
    End Sub

    Sub ARV_onCreateViewHolder (Parent As Panel,ViewType As Int)
    End Sub

    Sub ARV_onBindViewHolder (Parent As Panel,Position As Int)
    Dim item = AdapterList.Get(Position) As Items
    Dim img As ImageView = Parent.GetView(0)
    Dim lbl1 As Label = Parent.GetView(1)
    Dim lbl2 As Label = Parent.GetView(2)
        img.Bitmap = LoadBitmapResize(
    File.DirAssets , "emoji_ (" & (Position+1) & ").png" , 42dip , 42dip , False)
        img.Gravity = 
        lbl1.Text = item.itemTitle
        lbl2.Text = item.itemDescription
        Parent.Height = lbl2.Top + lbl2.Height + 
    End Sub

    Attached Files:

    Last edited: Sep 16, 2018
    fredo likes this.
  9. fredo

    fredo Active Member Licensed User

    Great. And now you have a new customer.
    alimanam3386 likes this.
  10. NJDude

    NJDude Expert Licensed User

    Very cool indeed.

    You have to correct a typo in your samples, you have "Dividar" the word is "Divider"
    Last edited: Sep 16, 2018
    Mahares and alimanam3386 like this.
  11. Almora

    Almora Active Member Licensed User

    min SDK=?
  12. NJDude

    NJDude Expert Licensed User

  13. alimanam3386

    alimanam3386 Active Member Licensed User

    thank you for my type mistake I will fix it next update.
  14. Almora

    Almora Active Member Licensed User

    It has been high. but worth it
  15. alimanam3386

    alimanam3386 Active Member Licensed User

    Reference please ?

    I test it with API level 18 ( android 4.3 ) and everything was ok.

    Attached Files:

    Almora likes this.
  16. Almora

    Almora Active Member Licensed User

    very good..
  17. alimanam3386

    alimanam3386 Active Member Licensed User

    "RecyclerView is part of the v7 support library which means you can use it on anything that has api 7 and up"

    Last edited: Sep 16, 2018
    asales likes this.
  18. asales

    asales Well-Known Member Licensed User

    1 - Tested in device with Android 4.2 and works fine.

    2 - @alimanam3386 I sent to you an email with information about the payment by Paypal.
    alimanam3386 likes this.
  19. alimanam3386

    alimanam3386 Active Member Licensed User

    thanks for your support, please check your email box.
    asales likes this.
  20. Alaa Alawi

    Alaa Alawi Member Licensed User

    Great Demo!

    What is The license terms? For How many years Support?
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice