๐ก ์๋๋ก์ด๋ UI ์์คํ ์์ ์ค์ํ ๊ฐ๋ ์ธ View์ ViewGroup์ ๋ํ์ฌ ์ ๋ฆฌํ์์ต๋๋ค !
View์ ViewGroup
- ์๋๋ก์ด๋ ํ๋ฉด์ ๊ตฌ์ฑํ๋ ์์๋ก View์ ViewGroup์ด ์์ต๋๋ค.
- ์ฑ์ ์คํ์์ผฐ์ ๋ ํ๋ฉด์ ๋ณด์ด๋ ๋ชจ๋ ์์๋ View๋ก ๋ณผ ์ ์์ผ๋ฉฐ, ์ด๋ฌํ View๋ฅผ ๋ด์ ํ๋ฉด์ ์ ์ ํ ๋ฐฐ์นํ๊ธฐ ์ํด ํ์ํ ๊ฒ์ด ViewGroup์ ๋๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ๋ทฐ ๊ฐ์ฒด๋ฅผ ์์ ฏ์ด๋ผ๊ณ ํ๋ฉฐ, ๋ทฐ ๊ทธ๋ฃน์ ๋ ์ด์์์ด๋ผ๊ณ ํฉ๋๋ค.
View
- View๋ ์๋๋ก์ด๋ UI ๊ธฐ๋ณธ ๊ตฌ์ฑ ์์์ด๋ฉฐ, ํ๋ฉด์ ํ์๋ ์ ์๋ ๋ชจ๋ UI ์์๋ View๋ฅผ ์์๋ฐ์ต๋๋ค.
- View๋ฅผ ํตํด ํ๋ฉด์ ํ ์คํธ๋ ์ด๋ฏธ์ง, ๋ฒํผ์ ํฌํจํ๋ ๋ฑ ๋ค์ํ UI ์์๋ก ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
ํน์ง
- ๋จ์ผ UI์์๋ฅผ ๋ํ๋ด๋ฉฐ, onDraw() ๋ฉ์๋๋ฅผ ํตํด ํ๋ฉด์ ๊ทธ๋ ค์ง๊ฒ ๋ฉ๋๋ค.
- ํฐ์น, ํค ์ ๋ ฅ ๋ฑ์ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
ViewGroup
- ViewGroup์ View์ ์๋ธ ํด๋์ค์ด๋ฉฐ ๋ค๋ฅธ View ๋๋ ViewGorup์ ์์์ผ๋ก ๊ฐ์ง ์ ์๋ ์ปจํ ์ด๋ ์ญํ ์ ํฉ๋๋ค.
- ViewGroup์ ๋ ์ด์์์ ์ ์ํ๊ณ , ์์ ๋ทฐ๋ฅผ ์ด๋ป๊ฒ ๋ฐฐ์นํ ์ง๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
ํน์ง
- ์ฌ๋ฌ ๊ฐ์ ์์ View ๋๋ ViewGroup์ ํฌํจํ ์ ์์ต๋๋ค.
- ์์ ๋ทฐ๋ค์ ๋ ์ด์์ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋ฉฐ, ViewGroup ์์ฒด๋ ํ๋์ View๋ก ์ทจ๊ธ๋์ด ๋ค๋ฅธ ViewGroup์ ์์์ด ๋ ์ ์์ต๋๋ค.
View์ ViewGroup์ ์ข ๋ฅ
๋ทฐ์ ์ข ๋ฅ
- TextView : ํ๋ฉด์ ํ ์คํธ๋ฅผ ๋ํ๋ ๋๋ค.
- EditText : ์ฑ์ ์ฌ์ฉ์๋ก๋ถํฐ ํ ์คํธ๋ฅผ ์ ๋ ฅ๋ฐ๋ ๋ทฐ์ ๋๋ค.
- Button : ์ด๋ฒคํธ ์ฒ๋ฆฌ๋ฅผ ์ํ ํด๋ฆญ ๊ธฐ๋ฅ์ด ํฌํจ๋์ด ์๋ ๋ทฐ์ ๋๋ค.
- ImageView : ํ๋ฉด์ ์ด๋ฏธ์ง๋ฅผ ๋ํ๋ด๋ ๋ทฐ์ ๋๋ค.
- CheckBox : ์ฌ๋ฌ ํญ๋ชฉ ์ค ์ ํ๋ ํญ๋ชฉ๊ณผ ์ ํ๋์ง ์์ ํญ๋ชฉ์ ๋ํ๋ผ ์ ์์ต๋๋ค.
- RadioButton : ์ฌ๋ฌ ํญ๋ชฉ ์ค ํ ๊ฐ์ง ํญ๋ชฉ๋ง ์ ํํ ์ ์๋ ๋ทฐ์ ๋๋ค.
๋ทฐ ๊ทธ๋ฃน ์ข ๋ฅ
- LinearLayout : ๋ด๋ถ ๋ทฐ๋ค์ ๊ฐ๋ก ํน์ ์ธ๋ก ๋ฐฉํฅ ์์๋ก ๋ฐฐ์นํฉ๋๋ค.
- RelativeLayout : ๋ด๋ถ ๋ทฐ๋ค์ ๋ทฐ๋ค๊ฐ์ ์๋์ ์ธ ์์น์ ๋ฐ๋ผ ๋ฐฐ์นํฉ๋๋ค.
- FrameLayout : ๋ด๋ถ ๋ทฐ๋ค์ ์ค์ฒฉํ์ฌ ๋ฐฐ์นํ ๋ ์ฌ์ฉํฉ๋๋ค.
- TableLayout : ๋ด๋ถ ๋ทฐ๋ค์ ํ๊ณผ ์ด์ ํํํ๋ก ๋ฐฐ์นํฉ๋๋ค.
- GridLayout : ๋ด๋ถ ๋ทฐ๋ค์ ๊ฒฉ์ ํํ๋ก ๋ฐฐ์นํฉ๋๋ค.
- ConstraintLayout : ๋ด๋ถ ๋ทฐ๋ค์ ํฌ๊ธฐ์ ์์น๋ฅผ ๋ค๋ฅธ ์์๋ค๊ณผ์ ์ ์ฝ์กฐ๊ฑด์ ์ค์ ํ์ฌ ๋ฐฐ์นํฉ๋๋ค.
์ ๋ฆฌ
- View๋ UI ๊ธฐ๋ณธ ์์์ด๋ฉฐ, ํ๋ฉด์ ๊ทธ๋ ค์ง ์ ์๋ ๋จ์ผ ์์ ์ ๋๋ค.
- ViewGroup์ ์ฌ๋ฌ View๋ ๋ค๋ฅธ ViewGroup์ ํฌํจํ ์ ์๋ ์ปจํ
์ด๋์
๋๋ค.
- ์์ ๋ทฐ๋ค์ ๋ ์ด์์์ ๊ด๋ฆฌํฉ๋๋ค.
- ์ด ๋ ํด๋์ค๋ ์๋๋ก์ด๋ UI๋ฅผ ๊ตฌ์ฑํ๋ ๊ธฐ๋ณธ์ ์ธ ๋น๋ฉ ๋ธ๋ก์ด๋ฉฐ ViewGroup์ View๋ฅผ ํฌํจํ๊ณ ๊ด๋ฆฌํ๋ฉด์ ๋ ๋ณต์กํ UI ๋ ์ด์์์ ๋ง๋ค ์ ์๊ฒ ํฉ๋๋ค.