아마 왠만한 앱 개발자라면 그 아무도 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"
No comments:
Post a Comment