λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
  • μž₯원읡 κΈ°μˆ λΈ”λ‘œκ·Έ
🀷🏼‍♀️ Etc.../- C, C++, Python, Android

[μ•ˆλ“œλ‘œμ΄λ“œ μŠ€νŠœλ””μ˜€] λ ˆμ΄μ•„μ›ƒ 닀루기 3. TableLayoutκ³Ό GridLayout (ν…Œμ΄λΈ” λ ˆμ΄μ•„μ›ƒκ³Ό κ·Έλ¦¬λ“œ λ ˆμ΄μ•„μ›ƒ)

by Wonit 2020. 5. 2.

TableLayout

ν…Œμ΄λΈ” λ ˆμ΄μ•„μ›ƒμ€ 주둜 μœ„μ ―μ„ ν‘œ ν˜•νƒœλ‘œ λ°°μΉ˜ν•  λ•Œ μ‚¬μš©ν•œλ‹€ ν•˜λ©° ν…Œμ΄λΈ” λ ˆμ΄μ•„μ›ƒμ€ LinearLayout을 μƒμ†ν•˜λŠ” λ‹¨μˆœν•œ LayaoutManager 역할을 ν•œλ‹€.
ν…Œμ΄λΈ” λ ˆμ΄μ•„μ›ƒμ—μ„œλŠ” ν–‰κ³Ό μ—΄μ˜ κ΄€κ³„λ‘œ μˆ˜μ •ν•˜κ³  μœ„μ ―μ„ λ°°μΉ˜ν•œλ‹€.

λ˜ν•œ ν…Œμ΄λΈ” λ ˆμ΄μ•„μ›ƒμ€ <tableRow>으둜 행을 ν‘œμ‹œν•˜κ³  <tableRow> μ•ˆμ— μžˆλŠ” μœ„μ ―μ˜ 수둜 열을 ν‘œμ‹œν•œλ‹€.

좜처 : ν•œλΉ› 아카데미(μ €) android studioλ₯Ό ν™œμš©ν•œ android programming

<TableLayout>

    <TableRow>
        ...
    </TableRow>

    <TableRow>
        ...
    </TableRow>

</TableLayout>

TableLayout의 속성

layout_span

열을 ν•©μ³μ„œ ν‘œμ‹œν•˜λΌλŠ” 의미둜 layout_sapn="2"λŠ” ν˜„μž¬ μ…€λΆ€ν„° 2개의 셀을 ν•©μ³μ„œ ν‘œμ‹œν•΄μ€€λ‹€.

layout_column

μ§€μ •λœ 열에 ν˜„μž¬ μœ„μ ―μ„ ν‘œμ‹œν•˜λΌλŠ” 의미

stretchColumns

μ§€μ •λœ μ—΄μ˜ 폭을 λŠ˜λ¦¬λΌλŠ” 의미.

GridLayout

κ·Έλ¦¬λ“œ λ ˆμ΄μ•„μ›ƒμ€ ν…Œμ΄λΈ” λ ˆμ΄μ•„μ›ƒκ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ μœ„μ ―μ„ ν‘œ ν˜•νƒœλ‘œ λ°°μΉ˜ν•  λ•Œ μ‚¬μš©ν•˜μ§€λ§Œ ν…Œμ΄λΈ” λ ˆμ΄μ•„μ›ƒ 보닀 훨씬 μ§κ΄€μ μ΄μ–΄μ„œ 더 많이 쓰인닀.

μœ„μ—μ„œ 봀듯이 Table Layoutμ—μ„œλŠ” Columnμ΄λ‚˜ Rowλ₯Ό 지정할 λ•Œ TableRow의 κ°―μˆ˜μ— 따라 지정이 λ˜μ—ˆμ§€λ§Œ GridLayout은 속성을 직접 μ§€μ •ν•΄μ„œ 훨씬 직관적이닀.

참고둜 GridLayout은 Android 4.0(Icecream sandwich) λΆ€ν„° μ§€μ›λœλ‹€.

예λ₯Ό λ“€μ–΄ 2ν–‰ 3열을 μ§€μ •ν•œλ‹€κ³  ν–ˆμ„ λ•Œ 두 가지 속성을 지정해주면 λœλ‹€

  1. layout_row
  2. layout_column

이제 이런 속성듀을 μ•Œμ•„λ³΄μž.

GridLayout의 속성

rowCount

rowCount 속성은 ν–‰μ˜ 수λ₯Ό ν‘œν˜„ν•  λ•Œ μ‚¬μš©ν•œλ‹€.

columnCount

columnCount 속성은 μ—΄μ˜ 수λ₯Ό ν‘œν˜„ν•  λ•Œ μ‚¬μš©ν•œλ‹€.

orientation

orientation 속성은 κ·Έλ¦¬λ“œλ₯Ό μˆ˜ν‰λ°©ν–₯으둜 μš°μ„ ν• μ§€, ν˜Ήμ€ 수직방ν–₯으둜 μš°μ„ ν• μ§€ κ²°μ •ν•œλ‹€.

layout_row, layout_column

각각 자기 μžμ‹ μ˜ ν–‰ λ˜λŠ” μ—΄ 번호λ₯Ό μ§€μ •ν•œλ‹€.

layout_rowSpan, layout_columnSpan

ν–‰ λ˜λŠ” 열을 μ§€μ •λœ 수 만큼 ν™•μž₯ν•  λ•Œ μ‚¬μš©ν•œλ‹€.

layout_gravity

주둜 fill, fill_vertical, fill_horizontal λ“±μœΌλ‘œ μ§€μ •ν•˜λŠ”λ°, layout_row(column)Span으둜 ν™•μž₯된 μ—΄ λ˜λŠ” 행에 μœ„μ ―μ„ 꽉 μ±„μš°λŠ” 역할을 ν•œλ‹€.

λŒ“κΈ€