티스토리 뷰




문제


ScrollView 안에 ListView 나 RecyclerView 가 있을 경우 

화면이 최초 로딩 될때 스크롤이 맨 위가 아니라 리스트뷰(리사이클러뷰) 에 위치하는 경우가 있다.






원인


화면이 로딩되고, 

Component 들을 하나씩 그리면서 

최상단의 ScrollView 를 먼저 그리고, 

그 자식들을 그리면서, 다른 스크롤을 가진 컴포넌트를 또 그리게 되면 그쪽으로 포커싱이 간다.






해결


ScrollView 안에서 또 다른 scroll 을 갖는 자식의 포커싱을 descendentsFocusabillity xml 속성으로 뺏어오면 됨.


ex)

<ScrollView descendentsFocusabillity="blocksDecendants">

<ListView>

</ListView>

</ScrollView>


만일 ScrollView 안에 또 다른 레이아웃 안에 ListView 라면


ex)

<ScrollView>

.....

<LinearLayout descendentsFocusabillity="blocksDecendants">

<ListView>

</ListView>

</LinearLayout>

</ScrollView>


처럼 ListView(RecyclerView) 바로 위의 부모에게 해당 속성을 주면 됨.




공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함