마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

버튼 그리드형식 이경우 어떻게 해야될까요?

0 추천
2열 n행형태로 서버의 response값에 따라 버튼을 만들어줘야되는데요
가로사이즈는 버튼이 두개가 동일하게 절반씩 가져가는데
홀수의 경우엔 버튼 가로크기가 화면의 절반 즉 2개짜리와 같이 가로크기가 절반만 가집니다
이건 그리드나 리사이클러뷰로 그리면 될거같은데
클릭시 해당 버튼이 갖고 있는 서버response 값을 가져와야 됩니다

data class(
 Id:int
 text:string
)
예시로 서버response 모델을 이렇게 받는다칠때
버튼과 버튼의 텍스트를 바인딩 후  버튼 클릭시 해당 버튼의
모델을 가져와야되는데요

문제가 두가지 있습니다
1. 리사이클러뷰로 할때 멀티뷰홀더써서 2개짜리 1개짜리 ui를
분리해서 그리는건 될거같습니다 문제는 텍스트바인딩을 할때
포지션이 어떻게 되야될까요?
뷰홀더에서 한다 할때
두개짜리 뷰홀더에서 button[position] button[position+1]
하자니 첫줄은 된다지만 두번째줄부터가 문제입니다


2.그리드로 동적으로 addview로 그릴 방법을 생각해봤는데
 이경우엔 클릭리스너를 어째 달아줘야될지 모르겠습니다

아니면 이거외에 더좋은방법이 있을까요?
수원통학러 (3,570 포인트) 님이 2023년 12월 2일 질문

1개의 답변

0 추천

LinearLayoutManager 대신에 StaggeredLayoutManager를 horzontal방향으로 spanCount를 2로해서 테스트 해보시죠.

val layoutManager = StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)
spark (226,720 포인트) 님이 2023년 12월 3일 답변
gridlayoutmanager로 예제로 대충 그리긴 했는데
staggergridlayoutmanager과 차이는 뭘까요? 찾아보니 약간 불규칙한 리스트?를 그리는데 쓰는거같은데
...