๊ณผ๊ฑฐ ํญ ์์ด์ฝ์ผ๋ก ์ด๋ฆฌ์ ๋ฆฌ ์ฝ์งํ๊ณ ํ๋ณตํ๊ฒ ์ํ๋ ๋๋ก ๊ตฌํํ์๋ค.
2021.09.09 - [๋น ๊ตฌ๋ฉ ์ฑ์ฐ๊ธฐ] - [Android] TabLayout, TabItem ์ํ๋ UI ๋ง๋ค๊ธฐ
๊ทธ๋ฆฌ๊ณ ์ด์๊ฐ ๋์๋ค. ๊ฐค๋ญ์ ํด๋ ๋จ๋ง์์๋ ๋์์ธ ๊ฐ์ด๋๋๋ก ํญ ์์ด์ฝ๋ค์ด ๋์ค์ง ์๋๋ค๋ ๊ฑฐ์๋ค.
TabLayout์ ์ค์ ๊ฐ ๋ฌธ์ ์ผ ์ ์๋ค๋ ์ ๋ฐฐ๋์ ๋ง์์ ํํธ๋ก ๋ฐ์๋ค์ด๊ณ ๊ฒ์ํด์ ์ฐพ์๋ค.
์์ธ : https://jeonghoe9.tistory.com/28
TabLayout์ ์ถ๊ฐํ ์์ฑ
app:tabGravity="fill"
app:tabMaxWidth="0dp"
app:tabMode="fixed"
app:tabGravity="fill"
ํญ๋ค์ ๋ฐฐ์นํ ๋ ์ฌ์ฉํ๋ gravity๋ฅผ GRAVITY_FILL๋ก ์ค์ ํ๋ค.
GRAVITY_FILL > TabLayout์ ์ต๋ํ ์ฑ์ฐ๋ gravity์ด๋ค. 600dp ๋ฏธ๋ง์ ๋๋น๋ฅผ ๊ฐ์ง, ๊ฐ๋ก๊ฐ ์๋ ํ๋ฉด์์ MODE_FIXED์ ํจ๊ป ์ฌ์ฉํด์ผ์ง ๋จนํ๋ค.
app:tabMaxWidth="0dp"
์ด ์น๊ตฌ๋ฅผ 0dp๋ก ์ค์ ํ๋ฉด ๋๋ค๊ณ ๋ง ๋งํ๋ ๋ธ๋ก๊ทธ ๊ธ๋ค์ ์๋๋ฐ, ์ ๊ทธ๋ฐ์ง ์ค๋ช ํด์ฃผ๋ ๊ธ์ ๋ชป ์ฐพ์๋ค. ์ ๊ทธ๋ฐ์ง ๊ถ๊ธํด์ TabLayout์ ์ฝ๋ ์ข ์ดํด๋ณด์๋ค.
requestTabMaxWidth์ tabMaxWidth์ผ๋ก ์ค์ ํ ๋๋น ๊ฐ์ด ๋ค์ด๊ฐ๋ค. tabMaxWidth์ ์ค์ ํ ๊ฐ์ด ์๋ค๋ฉด requestTabMaxWidth๋ -1์ด ๋๋ค.
requestTabMaxWidth ๊ฐ์ด 0๋ณด๋ค ํฐ์ง ์ฌ๋ถ๋ก ๋ถ๊ธฐ์ฒ๋ฆฌ๋์ด tabMaxWidth ๊ฐ์ด ๊ฒฐ์ ๋๋ค.
TabView์ onMeasure์์ geTabMaxWidth()๋ก TabLayout์ tabMaxWidth ๊ฐ์ ๊ฐ์ ธ์จ๋ค.
์ฌ๊ธฐ์ ๋ถ๊ธฐ์ฒ๋ฆฌ๋์ด tab item์ ๊ฐ๋ก ์์ญ์ด ์ ํด์ง๋ ๋ฏํ๋ค.
app:tabMode="fixed"
ํญ๋ค์ MODE_FIXED ๋ชจ๋๋ก ์์ง์ด๋๋ก ์ค์ ํ๋ค. ๋ชจ๋ ํญ๋ค์ด ํ๋ฉด์ ํ ๋ฒ์ ๋ชจ๋ ๋ณด์ด๊ฒ ํ๋ค. ์ต๋ ํญ ์๋ ํ๋ฉด์ ๋๋น์ ๋ฐ๋ผ ์ ํด์ง๋ค. ๊ฐ ํญ๋ค์ ๋๋น๊ฐ ๋์ผํ๋ค.