λ μ΄μμ
λ·°(View)
- View ν΄λμ€μ μλΈν΄λμ€λ‘ λ§λ κ°μ²΄λ₯Ό λ»ν¨
- μ‘ν°λΉν° νλ©΄μ ν κ° μ΄μμ λ·°λ‘ κ΅¬μ±
- ν¬κ² λ μ’ λ₯μΌλ‘ λλ (λ μ΄μμ, μμ ―)
μμ ―(Widget)
- λ²νΌ, λΌλμ€λ²νΌ, μ΄λ―Έμ§ λ± νλ©΄μμ μ¬μ©λλ κ²
- View λλ ViewGroupμ μλΈν΄λμ€λ‘μ λ¨λ μΌλ‘ μ¬μ©
μ½νλ¦°μ μ΅μμ ν΄λμ€: Any (Javaμ Objectμ μ μ¬)
λ μ΄μμ(Layout)
- λ€λ₯Έ μμ ―μ λ΄μ λ°°μΉνλ ν
- μ¬λ¬ κ°μ λ·°λ₯Ό κ·μΉλλ‘ νλ©΄μ λ°°μΉ
- ViewGroupμ μλΈν΄λμ€
View ν΄λμ€ κ³μΈ΅λ
View ν΄λμ€μ XML μμ±
λ²νΌμ XML μμ±
- λ²νΌμ XML μμ±μ΄ κ±°μ μμ
- λκ° μμ ν΄λμ€μΈ TextViewλ Viewμμ μμλ°μ
- https://developer.android.com/reference/packages μμ μμ± νμΈ κ°λ₯
id μμ±
- λͺ¨λ μμ ―μ μμ΄λλ₯Ό λνλ
- ν°μΉνμ λ μ΄λ€ λμμ΄ νμν κ²½μ° id μ§μ ν¨
- μΌλ°μ μΌλ‘ id μμ±μ μμ ―μ μμ΄λλ₯Ό μλ‘ λΆμ¬νλ κ°λ
- ‘@+id/’ νμ
- / λ€μμλ μλ‘ μ§μ ν idλ₯Ό λ£μ
- android:id =“@+id/button1” : λ²νΌ μμ ―μ μμ΄λλ‘ button1μ λΆμ¬ν¨
- Kotlin μ½λμμ λ²νΌ λ±μ μμ ―μ μ κ·Όν λ id μμ±μ μ§μ ν μμ΄λλ₯Ό μ¬μ©
μμ ― λ³μ = findViewById<μμ ―ν>(R.id.μμ ―id)
var button1: Button
button1 = findViewById<Button>(R.id.button1)
layout_width, layout_height μμ±
- λͺ¨λ μμ ―μ νμλ‘ λ€μ΄κ°
- layout_widthμ λ²νΌμ λλΉ, layout_heightλ λ²νΌμ λμ΄μ λν΄ μ μ©λ¨
- μμ± κ°μΌλ‘λ μλμ μΈ κ°μ§ μ€ νλμ κ°μΌλ‘ μ€μ ν μ μμ
- wrap_content : λ²νΌμ λλΉλ λμ΄κ° κ·Έ μμ κΈμμ κΌ λ§λ ν¬κΈ°κ° λ¨
- match_parent : λ²νΌμ κΈμμ κ΄κ³μμ΄ λ²νΌμ μΈκ³ μλ λΆλͺ¨(λ μ΄μμ)μ κ½ μ°¨λ ν¬κΈ°κ° λ¨
- κ°μ μ«μλ‘ μ§μ μ§μ νλ κ²½μ° → dp(Density-Independent Pixels), sp(Scale-Independent Pixels)
dp: κΈ°κΈ° λΉμ·νκ² μ μ©λκΈΈ μν λ → μΉμ μμΉ ν¬κΈ° λ± μμ ―μ ν¬κΈ°λ₯Ό μ§μ ν λ μ¬μ© sp: μλλ‘μ΄λ osμμ κΈμ¨ λ°κΏ λ μ μ©λ¨ → ν μ€νΈ ν¬κΈ° μ§μ ν λ μ¬μ© [μ°Έκ³ ] https://developer.android.com/training/multiscreen/screendensities |
background μμ±
- λ·°μ λ°°κ²½, μμ ―μ μμμ μ§μ ν¨
- μ£Όλ‘ #RRGGBB κ°μΌλ‘ μ§μ
- κ° κ°μ λΉ¨κ°μ, μ΄λ‘μ, νλμμ μλ―Έν¨
- RR, GG, BBμ μμΉλ 16μ§μ 00~FFλ‘ ννν μ μμ
λ§μ§(margin) μμ±
- μΈλΆ μ¬λ°±, μ¦ λ·°μ λΆλͺ¨ λ·° μ¬μ΄μ 곡κ°
- ν΄λΉ μ¬λ°±μ λ·° μμ μ μμμ ν¬ν¨λμ§ μμ
ν¨λ©(padding) μμ±
- λ΄λΆ μ¬λ°±, μ¦ λ·°μ λ·°μ λ΄μ©λ¬Ό μ¬μ΄μ 곡κ°
- ν΄λΉ μ¬λ°±μ λ·° μμ μ μμμ ν¬ν¨λ¨
visibility μμ±
- μμ ―μ λ³΄μΌ κ²μΈμ§ μ¬λΆλ₯Ό κ²°μ ν¨
- visible : λν΄νΈλ‘ μ€μ λμ΄ μμΌλ©°, 보μ΄λ μν
- invisible : μ 보μ΄λ μνμ΄μ§λ§, 보μ΄μ§ μμ λΏ μλμ μ리λ₯Ό κ³μ μ μ§ν¨
- gone : μ 보μ΄λ μνμ΄λ©°, μλμ μ리κΉμ§ μ¬λΌμ§
enabled, clickable μμ±
- XML λ³΄λ€ Kotlin μ½λμμ μ£Όλ‘ μ¬μ©λ¨
- κ°μ trueμ falseμ΄λ©° λν΄νΈ κ°μ trueμ
- enabled μμ± : μμ ―μ λμ μ¬λΆ
- clickable μμ± : ν΄λ¦μ΄λ ν°μΉκ° λμ μ¬λΆ