본문 바로가기
개발 이야기/안드로이드 스튜디오

안드로이드 스튜디오 GridLayout 위젯 균등 배치 방법

by 김넙죽 2022. 2. 20.

LinearLayout에서는 layout_weight attribute를 통해 위젯들의 비율을 조정할 수 있는데, GridLayout에서는 어떻게 적용할지 공부해보았다.

결론은 layout_columnweight와 layout_rowweight이 둘을 사용하면 간단하다.

내가 만든 Block이라는 커스텀뷰 5개를 일단 GridLayout에 집어넣었다. 

그 실행 결과를 보면

Block 5개가 수평 방향으로 놓였다.

Block 5개가 같은 간격으로 배열된 결과가 나왔다. 이때 각 Block마다 layout_width는 0으로 설정해줘야 한다. (LinearLayout에서 layout_weight를 쓸때랑 마찬가지이다)

 만약 여기서 Block을 더 추가하게 되면

자동으로 두번째 행에 놓인다.

6번째 Block부터 2행에 놓이게 됨을 알 수 있다. 이는 GridLayout에서 columnCount를 5로 설정했기 때문에 한 행에 5개가 넘어가면 자동 개행되는 것이다. 현재 설정한 orientation은 horizontal인데, 만약 vertical로 설정한다면 열 방향으로 Block이 채워지고 3개가 채워질 때마다 새로운 열로 넘어가 채워질 것이다.

 만약 세로 방향으로 화면에 꽉 맞게 균등하게 채우고 싶다면 width와 height를 다 0으로 맞추고 layout_rowweight를 추가하면 된다.

이렇게 화면에 꽉 맞게 셀들이 채워진다.

 

오늘의 결론 : GridLayout의 셀들을 균등하게 배치하려면 layout_columnweight와 rowweight를 활용하자.

 

 

....+ 개발 공부하며 한 번 만들어본 어플인데 구경 한 번 부탁드립니다!

https://play.google.com/store/apps/details?id=com.neopjuk.project1 

 

소나플 - 소중한 나의 병영플랜, 전역일 계산, 일기 - Google Play 앱

군 복무 동안의 기본 정보 확인, 일기 및 활동 기록 작성이 가능한 자기 계발 앱

play.google.com

 

댓글