Skip to content

stevechulsdev/recyclerswipe

Repository files navigation

Android Recycler Swipe Animation

리사이클러뷰에서 스와이프해서 리스트를 지우는 형태의 Custom View를 비교적 자주 사용하기에

간편하게 사용 할 수 있도록 라이브러리를 만들었습니다.



라이브러리 적용 방법

프로젝트단의 build.gradle


  buildscript {
    ...
    repositories {
      ...
      mavenCentral()
      jcenter()
      maven { url 'https://dl.bintray.com/stevechulsdev/maven/' }
    }
    dependencies {
      ...
    }
  }
  
  allprojects {
    repositories {
      ...
      mavenCentral()
      jcenter()
      maven { url 'https://dl.bintray.com/stevechulsdev/maven/' }
    }
  }

앱단의 build.gradle


  dependencies {
    ...
    implementation 'com.stevechulsdev.android:recycler-swipe:1.0.0@aar'
  }

Kotlin 코드 적용

Activity, Fragment단에서 호출

Class명을 바꿨는데, 적용이 바로 안되는 것 같습니다

UnderlayButton Parameter

@param Icon Resource
@param Icon Width
@param Icon Height
@param Button Width
@param Button Background Color
@param UnderlayButtonClickListener
@param Context

  object : StevechulsSwipeHelper(this, recycler) {
            override fun instantiateUnderlayButton(
                viewHolder: RecyclerView.ViewHolder, 
                underlayButtons: MutableList) {
                    // one button
                    underlayButtons.add(
                        UnderlayButton(R.drawable.icon_garbage, 250, 250, 200,
                            Color.parseColor("#e5001b"),
                            UnderlayButtonClickListener { pos ->
                                recycler.adapter?.notifyItemChanged(pos)
                                adapter.removeItemToSwipe(pos)
                            }, this@MainActivity
                        )
                    )
                    // two button
                    underlayButtons.add(
                        UnderlayButton(R.drawable.icon_garbage, 250, 250, 200,
                            Color.parseColor("#e5001b"),
                            UnderlayButtonClickListener { pos ->
                                recycler.adapter?.notifyItemChanged(pos)
                                adapter.removeItemToSwipe(pos)
                            }, this@MainActivity
                        )
                    )
            }
        }