반응형
자꾸 OnLayoutChangeListener를 까먹어서 포스팅한다.
v_recyclerViewChat.addOnLayoutChangeListener(object : View.OnLayoutChangeListener {
override fun onLayoutChange(v: View?, left: Int, top: Int, right: Int, bottom: Int, oldLeft: Int, oldTop: Int, oldRight: Int, oldBottom: Int)
{
if (bottom < oldBottom)
{
v_recyclerViewChat.postDelayed({
if (m_arrChat.size > 0)
{
v_recyclerViewChat.scrollToPosition(m_arrChat.size -1)
}
}, 100)
}
}
})
onLayoutChange는 뷰의 위치나 사이즈가 변경됐을 때 알려주는 핸들러 이다.
v: View?
left : 변경되고 난 후의 left값
top : 변경되고 난 후의 top 값
right : 변경되고 난 후의 right 값
bottom : 변경되고 난 후의 bottom 값
oldLeft : 변경되기 전의 left값
oldTop : 변경되기 전의 top 값
oldRight : 변경되기 전의 right 값
oldBottom : 변경되기 전의 bottom 값
즉, 엑티비티의 옵션을 adjustResize로 세팅하였을 경우 키보드가 보일 때 recyclerView의 Bottom 값이 변경되므로 bottom < oldBottom일 때 키보드가 올라왔다고 볼 수 있다.
반응형
'OS > Android' 카테고리의 다른 글
안드로이드 스튜디오 적응형 런처 아이콘 만들기 (0) | 2020.12.29 |
---|---|
Android SHA1 Debug (0) | 2020.12.02 |
Android RemoteViews Support View (0) | 2020.11.27 |
Android ConstraintLayout ImageView 맨 앞으로 위치 변경하기 (0) | 2020.11.23 |
Android JitPack 배포하기 (0) | 2020.11.20 |