Country
    /
    Home   →   Blog   →   Free Library for Deleting Items

    Free Library for Deleting Items

    We continue to develop useful plugins, libraries, and templates. This time, we are pleased to introduce you our new and free SwipeToDelete library. We hope you'll find a way to use it during your development process.

    What is SwipeToDelete?

    SwipeToDelete is an easy-to-use library that will help a user to delete any item by swiping it. The deleting function is quite popular, so we offer a simple and beautiful solution. Instead of the traditional "delete" button, you can provide users with a much more expressive way to accomplish this task.

    How to use?

    Our library can be used almost anywhere. For example, if a user wants to swipe an item off the screen. On the other hand, SwipeToDelete will come in handy for implementing all sorts of to-do lists: a user gets a possibility to swipe (that is, delete!) already completed tasks. Easy, remarkable, and illustrative!

    Thus, feel free to take full advantage of SwipeToDelete to implement any deletion function.

    Customization

    We offer three options for SwipeToDelete customization:

    • the bottom container. A user can accept or abandon the bottom container with the warning information about the fact of deleting the certain item;
    • the "undo" function which allows canceling the deleting action being done;
    • delay. The process of deleting an item can be performed with a specified time delay.

    Usage

    • Implement ISwipeToDeleteAdapter in your own adapter or another class.
    • Make example of SwipeToDeleteDelegate in your own adapter
    SwipeToDeleteDelegate(context = context, items = mutableList, swipeToDeleteDelegate = this)
    
    Call corresponding methods in your overridden methods
    
    override fun onBindViewHolder(holder: Holder, position: Int) {
           swipeToDeleteDelegate.onBindViewHolder(holder, mutableList[position].name, position)
       }
       
    override fun removeItem(key: String) {
           swipeToDeleteDelegate.removeItem(key)
       }
    • Implement ISwipeToDeleteHolder in your holder. You should have a container with your regular item layout and if needed with a bottom container too.
    • In your holder, you need to have var pendingDelete as false by default and you need to override val topContainer
    override val topContainer: View
               get() =
               if (pendingDelete) undoContainer
               else itemContainer
    
    override var pendingDelete: Boolean = false
    • Also, you need to make default key in holder by yourself
    override var key: Int = -1
    • If you need bottom container appearance while waiting, simply override onBindPendingItem(holder: Holder, key: Int, item: User) method:
    override fun onBindPendingItem(holder: Holder, key: Int, item: User) {
    ...
    }
    • You can also implement IAnimationUpdateListener and IAnimatorListener to override methods for achieving the animation along the axis x with duration which is equal to deleting duration
    UserAdapter(...) : ... , IAnimationUpdateListener {
    ...
     fun onAnimationUpdated(animation: android.animation.ValueAnimator?, options: ModelOptions<*>) {}
     
     fun onAnimationEnd(animation: Animator?, options: ModelOptions<*>) {}
     
     fun onAnimationCancel(animation: Animator?, options: ModelOptions<*>) {}
    
     fun onAnimationStart(animation: Animator?, options: ModelOptions<*>) {}
     
     fun onAnimationRepeat(animation: Animator, options: ModelOptions<*>) {}
    }

    If you want to know more about SwipeToDelete Library, visit this page!

    Next Posts
    Bd654a87439a6c2daa5fcd146f9b25ad7e1ab288 Rails Application Template for Creating Ruby-on-Rails Apps
    Rails Application Template. A basic template for creating Ruby-on-Rails applications
    B01cb6974b09d66e0ff310d657babb8bab99db6a jQuery GTM In-Viewport Manager Plugin
    We’d like to share with you our new jQuery GTM In-Viewport Manager Plugin aimed to ease a way of working with Google Tag Manager (GTM). Add jQuery GTM In-Viewport Manager Plugin into your project to see for yourself how effective the interaction with GTM
    B8ae08715ca65ef26850f8ed792ec77c5f6c4fa2 Timetracker Plugin. Keep Track of Time!
    ​The time counter can be a very helpful feature when creating websites as people often have to keep track of time and count it. That’s why we want to offer you our plugin named Timetracker that would be useful in many ways.