728x90
반응형

 

Layout에 이미지나 텍스트를 넣었지만 너무 내용물이 많아 화면에 넘어가는걸 처리하기 위해서 ScrollView Component 를 사용합니다.

 

거의 긴 내용이 필요한 화면에서는 필수라고 할 수 있죠.

 

일반적으로는 내용이 길어도 화면에 들어가면 상단부터 보여지게 됩니다.

 

 

 

 

하지만 ScrollView안에 RecyclerView를 넣었을때가 문제 입니다.

 

화면에 들어가면 ScrollView가 로드 된 후 RecyclerView가 로드 되기 때문에 RecyclerView가 로드된 부분에서 보여지게 됩니다.

 

의외로 이런 화면 구성이 간혹 기획되곤 합니다..

 

ScrollView 안에 RecyclerView가 있어도 상단에 보여지도록 처리를 해보겠습니다.

 

ScrollView Component 를 id 로 scrollView라고 정의 해보겠습니다.

android:id="@+id/scrollView"

 

 

 

ScrollView 자동스크롤

ScrollView.FOCUS_DOWN 은 하단으로 위치 하게 되는 옵션이고, ScrollView.FOCUS_UP 은 상단으로 위치 하게 되는 옵션입니다.

 

이외에도 여러가지 옵션이 있지만 여기서 다루지는 않겠습니다.

 

Kotlin 사용

scrollView.post {
	scrollView.fullScroll.ScrollView.FOCUS_UP)
}

 

Java로 사용

ScrollView scrollView = (ScrollView) findViewById(R.id.scrollView);
scrollView.post(new Runnable() {
	@Override
    public void run() {
    	scrollView.funnScroll(ScrollView.FOCUS_UP);	
    }
});

 

 

 

로드가 된 후 맨 상단으로 가고 싶을 땐 Thread 처리하지 않는다면 옵션이 적용되지 않습니다.

 

특정 Component Click 이벤트가 발생하면 스크롤이 되도록 처리 해도 됩니다.

 

다양하게 사용할 수 있으니 많은 응용을 해보세요.

 

728x90
반응형

+ Recent posts