제목이 넘 길다.
binding.mainDrawerIcl.mainFab.alpha = 0f
binding.mainDrawerIcl.mainScrollview.setOnScrollChangeListener(mScrollViewListener)
private val mScrollViewListener = object : NestedScrollView.OnScrollChangeListener{
override fun onScrollChange(v: NestedScrollView?, scrollX: Int, scrollY: Int, oldScrollX: Int, oldScrollY: Int) {
binding.mainDrawerIcl.mainFab.alpha = getAlpahForFloatingButton(scrollY)
}
private fun getAlpahForFloatingButton(scrollY : Int) : Float {
val minDist = 0
val maxDist = 30000
if(scrollY > maxDist/100){
return 1.0f
}
else if(scrollY < minDist){
return 0f
}
else{
var alpha = 0f
alpha = ((255.0/maxDist)* scrollY).toFloat()
return alpha
}
}
}
View 자체 alpha 값을 변경.
float 는 value <= 1.0f 이기 때문에 소수점 안에서 숫자가 변경되도록 한다.
계산이 대충 되어있긴 하지만 저렇게 하면 대충 자연스럽게 view가 나타난다.
그대로 복붙하면 아주 짧다! 꼭 숫자 변경해주기!!
참고
[Android] ScrollView 스크롤 이벤트 받아 Alpha 값 변경하기
final ColorDrawable cd = new ColorDrawable(Color.rgb(68, 74, 83)); cd.setAlpha(0); // 0이면 투...
blog.naver.com
감사합니다..
'1.5 > Android' 카테고리의 다른 글
Android XML naming convention (0) | 2021.06.18 |
---|---|
Floating Action Button icon 색상 변경 (0) | 2021.05.04 |
android view visibility animation (2) | 2021.04.11 |
Fragment에서 BottomNavigationView 이동하기 (0) | 2021.04.11 |
EditText.text 값 설정하기 (0) | 2021.03.10 |