출처 - http://aroundck.tistory.com/2746
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>
'개발 > 안드로이드' 카테고리의 다른 글
Android Studio를 배워보자 - (1) 주요 특징 및 빌드 시스템 (0) | 2015.01.05 |
---|---|
Android ViewDragHelper Tutorial (0) | 2015.01.05 |
android generate parcelable open source library (0) | 2015.01.05 |
Concurrent Database Access (0) | 2015.01.05 |
젤리빈 4.1에서 추가된 다양한 Notification 띄우기 (12) | 2014.04.22 |
댓글