- 공유 링크 만들기
- X
- 이메일
- 기타 앱
Android 4.0 에서 제공되기 시작한 GridLayout은 화면을 구성하는 데 매우 편리한 구성요소입니다. 하지만 사용할 수 있는 API 레벨이 14!!!
아마 왠만한 앱 개발자라면 그 아무도 GridLayout을 함부로 사용할 수는 없었을 겁니다. ㅠ.ㅠ
그런데 Support Library r7 부터 이 문제를 해결해줄 android.support.v7.widget.GridLayout 가 조용히 등장했습니다. 하지만 안드로이드 개발자 블로그에도, 개발자 사이트에서도 검색조차 잘 안되고 있는 슬픈 상황입니다.
Support라이브러리를 통해 GridLayout를 한번 사용해 볼까요?
간단히 설명하면 화면을 Grid영역으로 나누고 각각의 자식요소들의 위치와 크기를 지정하는 방식으로 레이아웃을 구성하는 방법입니다.
GridLayout를 사용하면 기존에 Layout여러개를 중첩해서 구성해야했던 구조를 간단하게 구현할 수 있습니다.
(SDK가 설치된 경로는 ANDROID_SDK 라 칭합니다.)
$ANDROID_SDK/extras/android/support/v7/gridlayout/
위 경로에 안드로이드 라이브러리 프로젝트의 형태로 gridlayout support라이브러리가 자리잡고 있습니다.
아마 왠만한 앱 개발자라면 그 아무도 GridLayout을 함부로 사용할 수는 없었을 겁니다. ㅠ.ㅠ
그런데 Support Library r7 부터 이 문제를 해결해줄 android.support.v7.widget.GridLayout 가 조용히 등장했습니다. 하지만 안드로이드 개발자 블로그에도, 개발자 사이트에서도 검색조차 잘 안되고 있는 슬픈 상황입니다.
Support라이브러리를 통해 GridLayout를 한번 사용해 볼까요?
기능
일단 기능은 http://android-developers.blogspot.kr/2011/11/new-layout-widgets-space-and-gridlayout.html 에서 말하고 있는 android.widget.GridLayout 완전히 동일합니다.간단히 설명하면 화면을 Grid영역으로 나누고 각각의 자식요소들의 위치와 크기를 지정하는 방식으로 레이아웃을 구성하는 방법입니다.
GridLayout를 사용하면 기존에 Layout여러개를 중첩해서 구성해야했던 구조를 간단하게 구현할 수 있습니다.
내 앱 프로젝트에서 사용하기
1. ADT업데이트
먼저 ADT와 SDK Tools을 최신버전으로 업데이트 합니다. (현재 최신 버전은 r19로 GridLayout이용하기 위해서는 r17이상으로 업데이트되어야 합니다.)(SDK가 설치된 경로는 ANDROID_SDK 라 칭합니다.)
$ANDROID_SDK/extras/android/support/v7/gridlayout/
위 경로에 안드로이드 라이브러리 프로젝트의 형태로 gridlayout support라이브러리가 자리잡고 있습니다.
2. 프로젝트 import
이클립스에서 이 경로에서 프로젝트를 import 하거나 이 디렉토리를 내 프로젝트의 적절한 경로에 복사후 import 합니다. (저의 경우 3rd-libs 라는 경로에 복사)import 후 보여지는 내용 |
3. 라이브러리 프로젝트로 지정
다음과 같이 내 앱의 프로젝트 설정에서 Add 눌러 위의 library 프로젝트를 사용하도록 설정합니다.라이브러리 프로젝트 사용설정 |
레이아웃 구성하기
위의 블로그 링크에서 설명하듯이 레이아웃을 구성했다면 xml에서 <GridLayout> 대신 <android.support.v7.widget.GridLayout> 을 사용하도록 변경합니다. <Space> 역시 <android.support.v7.widget.Space> 를 사용하도록 변경합니다.
그리고 GridLayout의 Attribute가 포함되어야 하기 때문에 다음과 같이 namespace를 지정하고
gridlayout과 관련된 attribute는 app:layout_column="1" 식으로 지정해줍니다.
<android.support.v7.widget.GridLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
마치기
중첩된 LinearLayout으로 구성된 복잡한 구조를 GridLayout으로 쉽게 구성해 보세요. GridLayout의 소중함을 느끼실 수 있을겁니다~ :)- 공유 링크 만들기
- X
- 이메일
- 기타 앱
댓글