본문 바로가기
Android/Code Piece

ScrollView에 잔상이 남는 현상

by featherwing 2020. 5. 4.
반응형

ScrollView를 커스텀하여 사용하던 중에 발생했습니다.

 

생명주기가 onStop등으로 가있다가 onResume으로 복원후에

 

화면이 다시그려진 뒤 스크롤을 할 때 스크롤뷰에 잔상이 같이 스크롤되는 현상이 발생했습니다.

 

이리저리 찾아보니 정확한 원인이 어떤 것인지는 확인할 수 없었지만

 

보통 ScrollView를 커스텀 하여 사용할 때 많이 발생하는것 같고 아래와 같은 방법으로 해결하는 방법이 있었습니다.

 

해당 방법이 적용되는 이유를 보니

 

스크롤뷰를 스크롤할때 호출되는 Override 함수인 computeScroll을 호출하고 

 

내부에서 requestLayout()을 호출하는 것으로 레아아웃을 다시 그려주기 때문에 해결되는것 같습니다. 

 

 

Java

@Override
public void computeScroll() {
	super.computeScroll();
	requestLayout();
}

 

Kotlin

    override fun computeScroll() {
        super.computeScroll()
        requestLayout()
    }
반응형

댓글