Android Studio๋ฅผ ํ์ฉํ์ฌ ์ฑ์ ๊ฐ๋ฐํ๊ณ ์๋ค. ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ์ ๋ฐฐ์ด์ง 2๋ ์ฐจ์ธ ์ง๊ธ๋ ์๋๋ก์ด๋๋ ์ด๋ ค์ด ๊ฒ ๋ง์๋ฐ, ์ผ๋จ XML์ด๋ผ๋ ์ธ์ด๋ฅผ ๊ฑฐ์ ์ฒ์ ์ ํ์ ๋ฟ๋ง ์๋๋ผ Java ์ฝ๋๊ฐ ๊ธฐ์กด์ Java์ ์กฐ๊ธ ๋ค๋ฅด๊ฒ XML๊ณผ ์ฐ๋ํด์ผ ํ๋ ๋ถ๋ถ์ด ๋ง์์ ์ด๋ ค์ด ๊ฒ ๊ฐ๋ค.
์๋๋ก์ด๋์ ์ํฐ ๋๋ XML์ ๋๋ถ๋ถ์ ๊ทธ๋๋ง ํ์ฉํ๊ธฐ ์ฌ์ด LinearLayout์ผ๋ก ๊ตฌํํ๋ค.
๋ด๊ฐ ํธํ๊ฒ ์ฌ์ฉํ๋ ์ดํ์ ๋๋ถ๋ถ์ ์๋จ๋ฐ์ ์ค์ ์ฝํ ์ธ ์์ญ, ๊ทธ๋ฆฌ๊ณ ํ๋จ๋ฐ๋ก ๊ตฌ์ฑ๋์ด ์๋ค๊ณ ๋๊ปด LinearLayout์ผ๋ก ์๋จ๋ฐ ์์ญ, ์ค์ ์ฝํ ์ธ ์์ญ, ํ๋จ๋ฐ ์์ญ์ ๋๋์ด ๊ตฌํํ์๋ค.
<LinearLayout>
<LinearLayout>
...
</LinearLayout>
<LinearLayout>
...
</LinearLayout>
<LinearLayout>
...
</LinearLayout>
</LinearLayout>
์์ฃผ ๊ธฐ๋ณธ์ค์ ๊ธฐ๋ณธ์ด๋ผ๊ณ ํ ์ ์๋ ๊ตฌ์ฑ์ผ๋ก ๋ง๋ค์๋๋ฐ, ์ด๋ ๊ฒ ๊ตฌ์ฑํ๋ ๋ช ๊ฐ์ง ๋ฌธ์ ์ ์ด ๋ฐ์ํ๋ค.
- ๋จ์ํ ImageView๋ฅผ ์ฝ์ ํ๊ฑฐ๋ ImageButton ๋๋ Button์ผ๋ก ๋ฒํผ์ ๋ง๋ค ์๋ ์์ง๋ง ์ฌ์ฉ์์ ์ ๋ ฅ์ ๋ฐ๋ผ ๋ฏผ๊ฐํ๊ฒ ๋ฐ์ํ๋๋ก ํ ์ ์์.
- ์ค์ ์ฝํ ์ธ ์์ญ์ ๋ด์ฉ๋ง ๋ฐ๊พธ๋ ๊ฒ์ด ์๋๋ผ, ๋ชจ๋ XML์ ์๋จ๋ฐ์ ํ๋จ๋ฐ๋ฅผ ๊ตฌํํด์ผ ํจ (์ค๋ณต ๋ฐ์)
- DrawerLayout์ ๊ตฌ์ฑํ ๋ Navigation ๋ฉ๋ด๋ฅผ ๋์ ์ผ๋ก ๊ตฌ์ฑํ ์ ์์.
๋ฌผ๋ก ์ด๊ฒ ์ธ์๋ ๋ค๋ฅธ ๋ฌธ์ ๊ฐ ์๊ฒ ์ง๋ง, ๋ด๊ฐ ๊ฐ์ฅ ํฌ๊ฒ ๋๋ ๋ฌธ์ ์ ์ ์ 3๊ฐ์ง์ด๋ค. ์ง๊ธ ๊ฐ๋ฐํ๋ ์ดํ์๋ ์ฐ์ธก ์๋จ์ ๋ฉ๋ด ๋ฒํผ์ ํด๋ฆญํ๋ฉด ์ฌ๋ผ์ด๋๋๋ ์๋ก์ด ๋ฉ๋ด๊ฐ ์ด๋ฆฌ๊ณ (DrawerLayout) ๊ทธ ๋ฉ๋ด์์ ์ฌ๋ฌ ๊ธฐ๋ฅ์ ํ์ฉํ ์ ์๋๋ก ํ ์์ ์ด์๋๋ฐ(ex. ์นด์นด์คํก ์ฑํ ๋ฐฉ ์ฐ์ธก ์๋จ์ ๋ฉ๋ด ๋ฒํผ), ์ฌ์ฉ์ ํ๋กํ์ ๋ณด์ฌ์ฃผ๋ ๊ณผ์ ์์ ์ฌ์ฉ์ ํ๋กํ์ ๋ถ๋ฌ์ฌ ์ ์๋ ๋ฌธ์ ๊ฐ ๊ฐ์ฅ ์ปธ๊ธฐ ๋๋ฌธ์ ํ๋ก์ ํธ๋ฅผ ์ฒ์๋ถํฐ ๋ค ๊ฐ์์๊ธฐ๋ก ๋ค์งํ๋ค ...
๊ฒ๋ค๊ฐ ์๋๋ก์ด๋ ๊ฐ๋ฐ ํด์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํ๋ AppBar, ToolBar, NavigationView ๋ฑ๋ฑ์ ๊ธฐ๋ฅ์ ๋๊ณ LinearLayout๋ง ์ฌ์ฉํ๋ ๊ฑด ๊ฐ๋ฐ์๋ก์ ๋๋ฌด ํ์์ ๋ฐฉ์์ด ์๋๊ฐํ๋ ๋ง์๋ ์์์ง๋ง (ใ
ใ
ใ
) ์๋ฌดํผ ์๋ก์ด ๊ธฐ๋ฅ?์ ๊ณต๋ถ๋ฅผ ํด๋ณด๊ณ ์ ์์ํ๋ค.
์์์ ๊ทธ๋ฌํ์ง๋ง.... ์ ๋ง ๋ง์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ณ ๊ทผ ์ผ์ฃผ์ผ๋์ ์๋จ๋ฐ ํ๋จ๋ฐ ๋ง๋ค๊ธฐ์ ๋งค๋ฌ๋ ค์ ๊ฒจ์ฐ๊ฒจ์ฐ ์ฑ๊ณตํ๊ฒ ๋์๋ค. (๊ฐ์ด ๊ฐ๋ฐ์ค์ธ ์น๊ตฌ์ ์ด์ฌํ ํ ๋ก ํ ๋์ ...)
์๋ฌดํผ! ์ต์ข ์ ์ผ๋ก ์์ฑํ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑํ๋ค.
<LinearLayout>
<include/>
<LinearLayout>
<FrameLayout>
</FrameLayout>
<DrawerLayout>
<NavigationView/>
</DrawerLayout>
</LinearLayout>
<BottomNavigationView/>
</LinearLayout>
๊ฐ์ฅ ๋ฐ๊นฅ์ชฝ์ LinearLayout ํ์ ๋๊ณ , ToolBar XML์ ๋ถ๋ฌ์ค๋ include ๋ธ๋ก๊ณผ ๋ ํ๋์ LinearLayout, ํ๋จ๋ฐ๋ฅผ ๋ด๋นํ๋ BottomNavigationView๋ฅผ ๋๋ํ ๋ฐฐ์น, LinearLayout์ ์์๋ ์ค์ ์ฝํ ์ธ ์์ญ์ ๋ด๋นํ๋ FrameLayout๊ณผ ์ฐ์ธก ์ฌ๋ผ์ด๋ ๋ฉ๋ด DrawerLayout์ ๋ฐฐ์นํ์๋ค.
๋ง์ง๋ง์ ํ์ ํ ๋ด์ฉ์ด์ง๋ง, FrameLayout์ด๋ผ๋ ๊ฑธ ์ฒ์ ์ฌ์ฉํด๋ดค๋๋ฐ XML ์์์ ์ ๋ง ๋ฏผ๊ฐํ๋ค๋ ๊ฑธ ๋๊ผ๊ณ .. ๋์ ์ด์ฉ์ด ๊ฐ๋ฅํ ์ฅ์ ์ด ์์ง๋ง ์ฒ์ ์ฐ๋ ์ฌ๋์๊ฒ ๋๋ฌด ๊ฐํนํ ๊ฒ ๊ฐ๋ค. (์ฌ์ค ์ด XML์์ LinearLayout ๋นผ๊ณ ๋ ๋ค ์ด๋ฉด์ด๋ค.)
ํ๋ค๊ฒ ์์ฑํ ๋งํผ ๋ธ๋ก๊ทธ์ ๋จ๊ฒจ์ ๊ธฐ์ตํ๊ธฐ ์ํด ํํธ๋ฅผ ๋๋ ์ ๊ธ์ ์จ๋ณผ ์์ ์ด๋ค!
๋ค์ ๊ธ์ Vertical ๋ฐฐ์น์ ์ต์๋จ์ธ ToolBar๋ถํฐ ์์ํ๋ ค๊ณ ํ๋ค.