.png)
사전적 의미로는 단거리 레이스 또는 단거리 전력질주라는 뜻으로,
짧은 단위의 계획을 바탕으로 프로젝트를 발전시켜 나아가는 방법론의 하나이다.
MoMo 팀에서는 3일 단위의 스프린트를 활용하여 프로젝트를 진행하기로 했다 !
✔️ 각 스프린트마다 목표, 알게된 지식들, 느낀점, 다음 스프린트에 대한 다짐 정리
2021-01-13(수) ~ 2021-01-15(금)
view.animateview.animate를 통해 alpha값과 duration을 조정하면 fadeIn 또는 fadeOut되는 로딩 애니메이션 효과를 구현할 수 있다! private fun fadeInSwipeUpImage() {
viewBinding.imageViewSwipeUp.apply {
visibility = View.VISIBLE
alpha = 0f
animate()
.alpha(1f)
.setDuration(resources.getInteger(android.R.integer.config_longAnimTime).toLong())
.setListener(null)
}
}
private fun fadeOutSwipeUpImage() {
viewBinding.imageViewSwipeUp.apply {
visibility = View.VISIBLE
alpha = 1f
animate()
.alpha(0f)
.setDuration(resources.getInteger(android.R.integer.config_longAnimTime).toLong())
.setListener(object : AnimatorListenerAdapter() {
override fun onAnimationEnd(animation: Animator) {
viewBinding.viewLoading.visibility = View.INVISIBLE
}
})
}
}
RecyclerView.OnScrollListener()RecyclerView.OnScrollListener()를 이용하면 스크롤 상태를 감지할 수 있다.SCROLL_STATE_IDLE - 스크롤 중이 아닌 상태SCROLL_STATE_DRAGGING - 스크롤 중인 상태 private fun setListeners() {
viewBinding.recyclerViewGradient.addOnScrollListener(scrollListener)
}
private val scrollListener = object : RecyclerView.OnScrollListener() {
override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) {
super.onScrollStateChanged(recyclerView, newState)
when (newState) {
SCROLL_STATE_IDLE -> fadeInSwipeImage()
SCROLL_STATE_DRAGGING -> fadeOutSwipeImage()
}
}
}
✳️ 좋았던 점
데모데이 전날에 끝나는 정말 마지막 스프린트라 더더욱 아쉬운 마음이 들지 않게끔 임하려고 했던 것 같다. 덕분에 큰 문제 없이 여유롭게(!) MoMo를 잘 완성해낼 수 있었다! 특히 내가 맡은 부분을 다 끝낸 후에 계절학기 때문에 바빴던 다른 안드 친구를 도와줄 수 있었던 점도 너무 좋았다!! 내가 다른 누군가에게 도움이 될 수 있다니,, 굉장히 새로운 경험이었다
❎ 아쉬웠던 점
가장 아쉬운 점은 앱잼이 끝났다는 점..
하지만 아직 릴리즈가 남았으니 아쉬운 마음은 접어두기로 했다!