안드로이드 개발 팁 #77 - View 객체의 post 메소드를 실행해야 할 경우

View 객체의 post 메소드를 실행해야 할 경우

No. 77
2024. 07. 04 (목) | Written by @dorian-mobileapp

다음과 같은 상황이었습니다.

  • RecyclerView 뷰의 항목들을 클릭하면, 항목의 아랫부분이 확장되어 메뉴 바가 보임
    • 한번 더 클릭하면 메뉴 바는 사라짐
  • RecyclerView 뷰의 항목들 중 가장 마지막 항목을 클릭하면, 메뉴 바는 확장되지만 아래로 스크롤 해야 보임
  • 마지막 항목을 클릭하면, 아래로 자동 스크롤 되어 메뉴 바를 보여줘야 함
  • 메뉴 바를 보여주기 위해 그것의 visibility 프로퍼티를 View.VISIBLE로 설정 후, 스크롤 처리
  • 그러나 스크롤이 되지 않음 (이것이 문제)

메뉴 바가 보여지자마자 스크롤을 하고 싶었지만, 그렇게 되지 않았습니다.

원인

  • 메뉴 바의 visibility 변경 후 UI 스레드가 화면 업데이트 하는데 약간의 시간이 필요

해결

  • RecyclerView 뷰의 post(runnable) 메소드를 실행
    • runnable은 진행 중인 메뉴 바 업데이트 후 실행됨
recyclerView.post {
    recyclerView.scrollToPosition(position)
}
  • scrollToPosion(positon)
    • position에 해당하는 항목이 가려져 있으면 그것이 보이도록 스크롤 됨
    • 해당 항목이 이미 완전하게 보이면, 스크롤은 하지 않음

지난 안드로이드 개발 팁


Layout provided by Steemit Enhancer hommage by ayogom


Posted through the ECblog app (https://blog.etain.club)
Sort:  

안녕하세요.
SteemitKorea팀에서 제공하는 'steemit-enhancer'를 사용해 주셔서 감사합니다. 개선 사항이 있으면 언제나 저에게 연락을 주시면 되고, 관심이 있으신 분들은 https://cafe.naver.com/steemitkorea/425 에서 받아보실 수 있습니다. 사용시 @응원해 가 포함이 되며, 악용시에는 모든 서비스에서 제외될 수 있음을 알려드립니다.

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.

Thank you, friend!
I'm @steem.history, who is steem witness.
Thank you for witnessvoting for me.
image.png
please click it!
image.png
(Go to https://steemit.com/~witnesses and type fbslo at the bottom of the page)

The weight is reduced because of the lack of Voting Power. If you vote for me as a witness, you can get my little vote.


안녕하세요.
이 글은 SteemitKorea팀(@ayogom)님께서 저자이신 @dorian-mobileapp님을 응원하는 글입니다.
소정의 보팅을 해드렸습니다 ^^ 항상 좋은글 부탁드립니다
SteemitKorea팀에서는 보다 즐거운 steemit 생활을 위해 노력하고 있습니다.
이 글은 다음날 다시 한번 포스팅을 통해 소개 될 예정입니다. 감사합니다!

Upvoted! Thank you for supporting witness @jswit.