Android GridLayout Tutorial |
점점 화면에 표시하는 UI 가 많아지면서 Layout 의 중첩 ( overdrawing ) 으로 성능 영향이 생기기 시작했다.
RelativeLayout 을 통해 이를 방지하는 tutorial 혹은 guide 들이 많이 나오기는 했지만,
이는 xml 코드(?) 를 엄청 복잡하게 만들고, 유지보수 또한 어려워지기 쉽상이다.
그래서 ICS 부터 GridLayout 이라는 새로운 layout 이 도입되었다.
물론 support-v7 를 통해 ICS 이전 버전에서도 GridLayout 을 이용할 수 있다.
http://developer.android.com/reference/android/widget/GridLayout.html
GridLayout 은 Web 의 Table 을 잘 다뤄본 사람에게는 친숙할 것이다.
GridLayout 의 xml 주요 속성들은...
android:orientation="horizontal | vertical"
android:columnCount="5" // 최대 갯수
android:rowCount="5" // 최대 갯수
android:alignmentMode="alignBounds | alignMargins"
android:columnOrderPreserved="true | false" // 열 인덱스 오름차순 배치
android:rowOrderPreserved="true | false" // 행 인덱스 오름차순 배치
android:userDefaultMargins="true | false" // 기본 마진 사용여부.
GridLayout ChildView 의 xml 속성 ( GridLayout.LayoutParams )
android:layout_column="3" // 열 index
android:layout_row="3" // 행 index
android:layout_columnSpan="2"
android:layout_rowSpan="2"
android:layout_gravity="center"
소스 출처 : http://developer.samsung.com/android/technical-docs/GridLayout-in-Android
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="4"
android:rowCount="4" >
<TextView
style="@style/textViewStyle"
android:text=" R 1, C 1 " />
<TextView
style="@style/textViewStyle"
android:text=" R 1, C 2 " />
<TextView
style="@style/textViewStyle"
android:layout_gravity="fill"
android:layout_rowSpan="2"
android:gravity="center"
android:text=" R 1, C 3 " />
<TextView
style="@style/textViewStyle"
android:text=" R 1, C 4 " />
<TextView
style="@style/textViewStyle"
android:text=" R 2, C 1 " />
<TextView
style="@style/textViewStyle"
android:text=" R 2, C 2 " />
<TextView
style="@style/textViewStyle"
android:text=" R 2, C 4 " />
<TextView
style="@style/textViewStyle"
android:text=" R 3, C 1 " />
<TextView
style="@style/textViewStyle"
android:text=" R 3, C 2 " />
<TextView
style="@style/textViewStyle"
android:layout_gravity="fill_horizontal"
android:text=" R 3, C 3 modify " />
<TextView
style="@style/textViewStyle"
android:text=" R 3, C 4 " />
<TextView
style="@style/textViewStyle"
android:text=" R 4, C 1 " />
<TextView
style="@style/textViewStyle"
android:text=" R 4, C 2 " />
<TextView
style="@style/textViewStyle"
android:layout_gravity="fill_horizontal"
android:text=" R 4, C 3 " />
<TextView
style="@style/textViewStyle"
android:text=" R 4, C 4 " />
</GridLayout>
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[Android] facebook sdk applicationId cannot be null (0) | 2014.07.29 |
---|---|
[java] IllegalArgumentException @ Random.nextInt( int n ) (0) | 2014.07.04 |
Android ViewDragHelper Tutorial (0) | 2014.06.09 |
Android RenderScript blur (0) | 2014.06.08 |
안드로이드 단말 최악의 상황으로 만들어 테스트하기. (2) | 2014.06.06 |
댓글