๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐Ÿคท๐Ÿผ‍โ™€๏ธ Etc.../- C, C++, Python, Android

[์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค] View์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์ ์ธ ์ดํ•ด

by Wonit 2020. 4. 30.
์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด ํƒ„์ƒํ•œ IDE๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์ ์ธ ์ •๋ณด๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค - ์œ„ํ‚ค๋ฐฑ๊ณผ ์— ๋“ค์–ด๊ฐ€์„œ ์ฐธ๊ณ ํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์€ ์„ ํƒ์ด๋‹ค!

 

์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์˜ View

 

์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ์˜ View์˜ ์—ญํ• ์€ ์ฐธ ๋‹ค์–‘ํ•˜๋‹ค.

 

๊ฐœ๋ฐœ์  ์ธก๋ฉด์—์„œ์˜ View์™€ ์‚ฌ์šฉ์ž์  ์ธก๋ฉด์—์„œ์˜ View๋Š” ๊ฐ™์€ ๊ธฐ๋Šฅ(ํ™”๋ฉด์— ์ •๋ณด๋ฅผ ํ‘œํ˜„ ๋ฐ ๊ธฐ๋Šฅ์„ ์ œ๊ณต)์„ ์ˆ˜ํ–‰ํ•˜์ง€๋งŒ ๋˜ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ํ‘œํ˜„๋˜๊ณ  ๊ฐ€๊ณต๋  ์ˆ˜ ์žˆ๋‹ค.

 

์ด์ œ ์ด View์— ๋Œ€ํ•ด์„œ ์กฐ๊ธˆ ๋” ์•Œ์•„๋ณด๊ณ  ํ•œ ๋ฒˆ ๋‹ค๋ค„ ๋ณด์ž

 

 

์œ„์ ฏ(widget) ๊ณผ ๋ทฐ(View)

 

์šฐ๋ฆฌ๋Š” ์•ž์œผ๋กœ ์œ„์ ฏ๊ณผ ๋ทฐ๋ฅผ ์„œ๋กœ ์ฐจ์ด์ ์„ ๊ฐ€์ง€๊ณ  ๋ถ€๋ฅด๊ฒŒ ๋  ๊ฒƒ์ธ๋ฐ, ์‰ฝ๊ฒŒ ๋ง ํ•˜์ž๋ฉด ์œ„์ ฏ๊ณผ ๋ทฐ์˜ ์ฐจ์ด๋Š” ๋ถ€๋ฅด๋Š” ์œ„์น˜?์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

์ด๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ๊ณตํ†ต ์ „์žฌ๋กœ ํ™”๋ฉด์— ๋ฒ„ํŠผ ํ•˜๋‚˜๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž.

 

 

๊ทธ๋Ÿผ ์ด์ œ ์œ„์ ฏ๊ณผ ๋ทฐ๋ฅผ ์กฐ๊ธˆ ์‰ฝ๊ฒŒ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

Widget

ํ™”๋ฉด์—์„œ ๋ณด์ด๋Š” ๋ฒ„ํŠผ์ด๋‚˜ ๋ ˆ์ด์•„์›ƒ, ์ฒดํฌ๋ฐ•์Šค ๋“ฑ๋“ฑ์„ ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ ๋ถ€๋ฅผ ๋•Œ ์œ„์ ฏ์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

View

๊ฐœ๋ฐœ์ž ์ž…์žฅ์—์„œ ์œ„์ ฏ์— ํ•ด๋‹นํ•˜๋Š” Code๋ฅผ View๋ผ๊ณ  ํ•œ๋‹ค.

 

์œ„์ ฏ๊ณผ ๋ทฐ

 

์ปจํ…Œ์ด๋„ˆ(Container)

 

์œ„์ ฏ๋“ค์€ ์‚ฌ์‹ค ํ˜ผ์ž ๋…์ž์ ์œผ๋กœ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์—†๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ทฐ๋Š” ๊ทธ๋ƒฅ ๋ณด์—ฌ์ง€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ •ํ™•ํžˆ๋Š” ๋ทฐ ์ปจํ…Œ์ด๋„ˆ์— ๋‹ด๊ฒจ ์žˆ๋Š” ๋ทฐ๋ฅผ ๋ณด๋Š” ๊ฒƒ์ด๋‹ค.

 

์ด๋ ‡๋“ฏ ๋ทฐ๋Š” ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๊ผญ ํ•„์š”ํ•œ ์กด์žฌ๊ฐ€ ๋˜๊ณ  ๊ทธ ์ปจํ…Œ์ด๋„ˆ์—๋Š” ์—ฌ๋Ÿฌ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค.

 

ํฌ๊ฒŒ ๋ ˆ์ด์•„์›ƒ ์ปจํ…Œ์ด๋„ˆ์™€ ์œ„์ ฏ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์žˆ๋‹ค.

๋ ˆ์ด์•„์›ƒ ์ปจํ…Œ์ด๋„ˆ

  • LinearLayout
  • Relativelayout
  • FrameLayout
  • GridLayout
  • TableLayout

๋“ฑ์ด ์žˆ๋Š”๋ฐ ์ž์„ธํ•œ ๊ฒƒ์€ ๋‹ค์Œ์— ์•Œ์•„๋ณด๊ธฐ๋กœ ํ•˜์ž!. ์ง€๊ธˆ์€ View์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ์ค‘์‹ฌ์ด๋‹ˆ๊นŒ

View Class ์˜ ๊ณ„์ธต๋„

์ถœ์ € : https://proandroiddev.com

 

View ์˜ ๊ณ„์ธต์€ ์œ„์™€ ๊ฐ™์€๋ฐ ์‚ฌ์‹ค View ๋˜ํ•œ Object ํด๋ž˜์Šค์— ์ƒ์†์„ ๋ฐ›๊ณ  ์žˆ๋Š” ๊ตฌ์กฐ ์ด๋‹ค.

 

View ํด๋ž˜์Šค์˜ XML ์†์„ฑ๋“ค

 

์ด์ œ ์‹ค์ œ๋กœ View๋ฅผ ๋‹ค๋ฃจ๊ธฐ ์ „์— ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌ์กฐ๋ฅผ ๋จผ์ € ์•Œ์•„๋ณด์ž๋ฉด. ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ 2 ๊ตฌ์กฐ๋กœ ๋‚˜๋‰œ๋‹ค.

 

 

ํ•˜๋‚˜๋Š” XML๊ณผ ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” java ์ฝ”๋“œ๋กœ ๋‚˜๋‰˜๋Š”๋ฐ XML์€ ํ™”๋ฉด์— ๋Œ€ํ•œ View๋ฅผ ์ •์˜ํ•˜๊ณ  ๋ณด์—ฌ์ง€๊ฒŒ ํ•˜๋Š” ์—ญํ• ์ด๋ฉฐ java ์ฝ”๋“œ๋Š” ํ•ด๋‹น View ์— ๋Œ€ํ•œ ํ–‰๋™์„ ์ •์˜ํ•˜๋Š” ์—ญํ• ๋กœ ๋‚˜๋‰œ๋‹ค.

 

๋Œ“๊ธ€