삽질
삽질 - Android CoordinatorLayout Floating Action Button
강태종
2020. 12. 10. 02:32
CoordinatorLayout은 View의 Visible상태가 GONE인 것은 생략하기 때문에 FloatingActionButton을 그냥 hide로 숨기면 그 다음부터 상태전달을 생략한다. (hide는 View의 Visible을 GONE으로 만들기 때문)
=> hide에 재정의한 리스너를 달아주자!!
override fun onNestedScroll(coordinatorLayout: CoordinatorLayout, child: FloatingActionButton, target: View, dxConsumed: Int, dyConsumed: Int, dxUnconsumed: Int, dyUnconsumed: Int, type: Int, consumed: IntArray) {
super.onNestedScroll(coordinatorLayout, child, target, dxConsumed, dyConsumed, dxUnconsumed, dyUnconsumed, type, consumed)
if (dyConsumed > 0) {
child.hide(object : OnVisibilityChangedListener() {
override fun onHidden(fab: FloatingActionButton) {
super.onHidden(fab)
fab.visibility = View.INVISIBLE
}
})
} else if (dyConsumed < 0) {
child.show()
}
}