🀷🏼‍♀️ Etc.../- C, C++, Python, Android

[μ•ˆλ“œλ‘œμ΄λ“œ μŠ€νŠœλ””μ˜€] View에 λŒ€ν•œ 기본적인 이해

Wonit 2020. 4. 30. 02:42
μ•ˆλ“œλ‘œμ΄λ“œ μŠ€νŠœλ””μ˜€λŠ” μ•ˆλ“œλ‘œμ΄λ“œλ₯Ό κ°œλ°œν•˜κΈ° μœ„ν•΄ νƒ„μƒν•œ 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 에 λŒ€ν•œ 행동을 μ •μ˜ν•˜λŠ” μ—­ν• λ‘œ λ‚˜λ‰œλ‹€.