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.

    "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:
    https://developer.android.com/reference/android/support/v7/widget/RecyclerView

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

    Current Plugins :

    • Amir_RVHeaderFooter
    • Amir_RVToolbarParallax
    • Amir_RVEmptyView
    • Amir_RVCardSlider
    • Amir_RVCarousel
    • Amir_RVDiscrete
    • Amir_RVExpandable
    • Amir_RVFanLayout
    • Amir_RVFeature
    • Amir_RVItemPicker
    • Amir_RVLayoutAnimation
    • Amir_RVMultiSelection
    • Amir_RVParallax
    • Amir_RVRefreshLayout
    • Amir_RVShimmer
    • Amir_RVSkidRight
    • Amir_RVSwipeCards
    • Amir_RVVegaLayout
    • Amir_RVViewPager
    • Amir_RVDragItem

    Demo and samples how to use :

    Download the DEMO.apk
    Download all examples of Amir_RecyclerView with plugins

    Current version of Amir_RecyclerView : 1.0

    Be sure to check the apk sample before purchasing.

    The price has changed for a limited time :


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

    Pay

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

    Attached Files:

    Last edited: Sep 23, 2018 at 2:09 PM
    kempelang, jimmyF, Erel and 21 others like this.
  2. scsjc

    scsjc Active Member Licensed User

    awesome work :)

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

    Almora Active Member Licensed User

    awesome work
     
  4. inakigarm

    inakigarm Well-Known Member Licensed User

    Great work !!
     
  5. Lello1964

    Lello1964 Member Licensed User

    Very, very good.
     
  6. Pooya1

    Pooya1 Active Member Licensed User

    Nicccce!
     
  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

    photo_2018-09-16_17-28-13.jpg
    Answer for Q1 AND Q2 , is YES very easy :
    Code:
    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)
        AdapterList.Initialize
        ARV.Initializer(
    "ARV").ListView.Build
        ARV.DefaultAdapter
        
    Activity.AddView(ARV , 0 , 0 , 100%x , 100%y)
      
        
    For i = 1 To 10
            
    Dim item As Items
            item.Initialize
            item.itemTitle = 
    "Product title " & i
            item.itemDescription = 
    "Discription of product number " & i
            AdapterList.Add(item)
        
    Next
        ARV.Adapter2.NotifyDataSetChanged
      
    End Sub

    Sub ARV_GetItemCount As Int
        
    Return AdapterList.Size
    End Sub

    Sub ARV_onCreateViewHolder (Parent As Panel,ViewType As Int)
        Parent.LoadLayout(
    "1")
    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 = 
    Gravity.FILL
        lbl1.Text = item.itemTitle
        lbl2.Text = item.itemDescription
      
        Parent.Height = lbl2.Top + lbl2.Height + 
    10dip
          
    End Sub
    APK OF SAMPLE_001
     

    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

    22
     
  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"

    Reference
     
    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 New Member Licensed User

    Great Demo!

    What is The license terms? For How many years Support?
     
Loading...
  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