1.5/Android

scrollview setOnScrollChangeListener을 활용하여 view 나타나게 하기

하례은 2021. 5. 4. 18:33

제목이 넘 길다.

 

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가 나타난다. 

그대로 복붙하면 아주 짧다! 꼭 숫자 변경해주기!!

 

 

 

참고

m.blog.naver.com/PostView.nhn?blogId=tkddlf4209&logNo=221342859972&proxyReferer=https:%2F%2Fwww.google.com%2F

 

[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