출처 : http://mocorian.tistory.com/51

GridLayout은 Android 4.0에서 처음 소개 되었다.(API Level 14).

그러므로 하위 버전에서 사용하기 위해서는 이를 지원하는 라이브러리를 이용해야 하는데

XML로 레이아웃을 작성할 때 두 버전사이에 다소 차이가 있다.

- API Level 14 버전을 이용해 작성할 때

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?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">
  
         <Button android:text="0.0" />
         <Button android:text="0.1" />
         <Button android:text="0.2" />
         <Button android:text="0.3" />
  
         <Button android:text="1.0" />
         <Button android:text="1.1" />
         <Button android:text="1.2" />
         <Button android:text="1.3" />
  
         <Button android:text="2.0" />
         <Button android:text="2.1" />
         <Button android:text="2.2" />
         <Button android:text="2.3" />
  
         <Button android:text="3.0" />
         <Button android:text="3.1" />
         <Button android:text="1.2" />
         <Button android:text="3.3" />
</GridLayout>

- 하위 버전 지원 라이브러리 이용시

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.GridLayout 
          xmlns:android="http://schemas.android.com/apk/res/android"
          xmlns:app="http://schemas.android.com/apk/res-auto"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          app:columnCount="4"
          app:rowCount="4">
  
         <Button android:text="0.0" />
         <Button android:text="0.1" />
         <Button android:text="0.2" />
         <Button android:text="0.3" />
  
         <Button android:text="1.0" />
         <Button android:text="1.1" />
         <Button android:text="1.2" />
         <Button android:text="1.3" />
  
         <Button android:text="2.0" />
         <Button android:text="2.1" />
         <Button android:text="2.2" />
         <Button android:text="2.3" />
  
         <Button android:text="3.0" />
         <Button android:text="3.1" />
         <Button android:text="1.2" />
         <Button android:text="3.3" />
</android.support.v7.widget.GridLayout>


GridLayout의 행과 열 개수를 지정할 때 하위버전 지원 라이브러이 에서는

app:columnCount app:rowCount attribute를 이용한다.

(API Level 14에서는 android:ColumnCount, android:rowCount)

또한 이를 위해서 xmlns:app=http://schemas.android.com/apk/res-auto 를 추가해 줘야 한다

 

Posted by outliers
,