반응형
공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
안드로이드에서 RecyclerView는 자주사용되는 컨테이너인데요.
1 to 50 게임같은 가로세로 높이가 같은 아이템들이 있는 RecyclerView를
만들 때 RecyclerView의 가로세로 높이를 구해서 1/n을 하면
아이템들의 높이를 맞출 수 있는데요.
여기서 동적으로 RecyclerView의 가로세로 높이를 구하는 코드를
소개하려 합니다.
1 2 3 4 5 6 7 8 9 10 | recyclerView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { int width = recyclerView.getHeight() / 5; int height = recyclerView.getHeight() / 5; inverseStepAdapter.setLength(width, height); inverseStepAdapter.notifyDataSetChanged(); constraintLayout.getViewTreeObserver().removeOnGlobalLayoutListener(this); } }); | cs |
adapter에 setLength 라는 메소드를 만들었는데요.
그리고 adapter에 item들의 width, height를 설정해주면 됩니다.
adapter의 필드
1 | private int width = 0, height = 0; | cs |
1 2 3 4 | if (width != 0 && height != 0) { binding.stepImgView.getLayoutParams().width = width; binding.stepImgView.getLayoutParams().height = height; } //onBindViewHolder에 선언 | cs |
1 2 3 4 5 | public void setLength(int width, int height) { this.width = width; this.height = height; } // 메소드 | cs |
RecyclerView를 사용해보신 분들이라면 쉽게 적용하실 수 있으실거에요.
이상입니다. 감사합니다.
반응형
'안드로이드' 카테고리의 다른 글
안드로이드 드래그 앤 드랍 Drag and Drop setOnDragListener (0) | 2018.12.07 |
---|---|
안드로이드 RecyclerView 스크롤 효과 안되게 막기 (0) | 2018.12.06 |
안드로이드 이미지 때문에 액티비티 로딩속도가 느릴 때 간단한 해결방법 (0) | 2018.11.30 |
안드로이드 1to50 게임을 만들어봤습니다. (0) | 2018.11.29 |
안드로이드 애니메이션 확대 애니메이션 expansion, 축소 애니메이션 reduction (0) | 2018.11.19 |