모델 Y RWD 가격 인하 5499만원 => 5299만원

android.support.v7.widget.GridLayout 사용하기

Android 4.0 에서 제공되기 시작한 GridLayout은 화면을 구성하는 데 매우 편리한 구성요소입니다. 하지만 사용할 수 있는 API 레벨이 14!!!
아마 왠만한 앱 개발자라면 그 아무도 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의 소중함을 느끼실 수 있을겁니다~ :)


댓글