# ์์ ฏ : ์ปดํ์ด๋ ๋ฒํผ (Compound Button)
# ์์ ฏ : ์ปดํ์ด๋ ๋ฒํผ (Compound Button)
- Compound Button ํด๋์ค
: Button ํด๋์ค์ ํ์ ํด๋์ค๋ก ์ฒดํฌ ๋ฐ์ค๋ ๋ผ๋์ค ๋ฒํผ, ์ค์์น ๋ฐ ํ ๊ธ ๋ฒํผ์ ์์ ํด๋์ค์ด๋ค.
- ์ฒดํฌ ๋ฐ์ค
: ํด๋ฆญํ ๋๋ง๋ค ์ํ๊ฐ ์ธ์ฒดํฌ, ์ฒดํฌ๋ก ๋ณ๊ฒฝ๋จ
--> ์ฌ๋ฌ ๊ฐ์ ์ฒดํฌ ๋ฐ์ค๊ฐ ์์ด๋ ์๋ก ๋ ๋ฆฝ์ ์ผ๋ก ์๋ํ์ฌ ๋์์ ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ค๋ฅผ ์ฒดํฌํ ์ ์๋ค.
+ ์ฒดํฌ & ์ธ์ฒดํฌ ๋ณ๊ฒฝ ์ Kotlin ์ฝ๋์ ์ฒ๋ฆฌ ์ ์ฐจ
โ ์ฒดํฌ ๋ฐ์ค ๋ณ์ ์ ์ธ
var mycheck : CheckBox
โก ์์ฑํ ๋ณ์์ ์ฒดํฌ๋ฐ์ค ์์ ฏ์ ๋์
mycheck = findViewByid<CheckBox>(R.id.android)
โข ์ฒดํฌ ๋ฐ์ค ๋ณ๊ฒฝ ์ ๋์ํ๋ ๋๋ค์ ์ ์
mycheck.setOnCheckedChangeListener { compoundButton, b ->
//๋์ ๋ด์ฉ
}
+ ์ฒดํฌ ๋ฐ์ค ์ ํ ์ ํ ์คํธ ๋ฉ์์ง ์ถ๋ ฅ
--> ํ ์คํธ ๋ฉ์์ง: ํ๋ฉด์ ํ๋จ์ ๋ฉ์์ง๋ฅผ ์ ์ ๋ณด์ฌ์ฃผ๋ ๋ฐฉ์์ผ๋ก, ์๋์ ๋ฉ์๋ ์ฌ์ฉ
Toast:makeText(Context context, String message, int duration).show()
ex) ์ค์ต 1_์ฒดํฌ ๋ฐ์ค์ ๋ฆฌ์ค๋ ์ถ๊ฐํ๊ธฐ
1. ์ปจ์คํธ๋ ์ธํธ ๋ ์ด์์์ ๋ฆฌ๋์ด ๋ ์ด์์์ ํ๋ฉด ๊ฐ์ด๋ฐ ์์น๋ก ๋ฐฐ์นํ ํ, ์ฒดํฌ ๋ฒํผ 3๊ฐ๋ฅผ ์ถ๊ฐ

2. ๋ฐฐ์นํ ๋ ์ด์์์ text, id ์์ฑ ์ ๋ ฅ


3. ๋ฆฌ๋์ด ๋ ์ด์์์ layout_width, layout_height ์์ฑ์ ๋ชจ๋ wrap_content๋ก ๋ณ๊ฒฝํ๊ธฐ

4. MainActivity.kt ํ์ผ์ ์ฝ๋๋ฅผ ์๋์ ๊ฐ์ด ์์ ํ๊ธฐ

5. ํ๋ก๊ทธ๋จ์ ์ ์ ์๋ ์ฌ๋ถ ํ์ธํ๊ธฐ


- ์ค์์น ๋ฒํผ๊ณผ ํ ํด ๋ฒํผ
: ์ค์์น, ํ ํด ๋ฒํผ์๋ชจ์์ ์์ดํ๋ ์ฉ๋๋ ๊ฑฐ์ ๋์ผํจ
+ ์ค์์น ๋ฒํผ์ ๊ฒฝ์ฐ ์ฃผ ์ฉ๋๋ ์จ/์คํ ์ํ ํ์
--> XML ์์ฑ์ด๋ ๊ด๋ จ ๋ฉ์๋๋ ๋ชจ๋ ์ฒดํฌ๋ฐ์ค์ ๋์ผํ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅ
--> checked ์์ฑ์ false, true ๊ฐ์ ๋ฐ๋ผ์ ์์ ๋ฐ ๊ธ์๊ฐ ๋ค๋ฅด๊ฒ ํํ๋จ
- ๋ผ๋์ค ๋ฒํผ
: XML ์์ฑ ๋ฐ ๋ฉ์๋๊ฐ ์ฒดํฌ ๋ฐ์ค์ ์ ์ฌํ์ง๋ง, ๋ผ๋์ค ๋ฒํผ์ ๊ฒฝ์ฐ ๋ค์์ ์ ํ์ง ์ค ํ๋๋ง์ ์ ํํด์ผ ํ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ค๋ ์ ์์ ์ฐจ์ด๊ฐ ์์
--> ๊ฐ ๋ผ๋์ค ๋ฒํผ์ id ์์ฑ์ด ์๋ ๊ฒฝ์ฐ ํด๋น ๋ผ๋์ค ๋ฒํผ์ด ๊ณ์ ์ ํ๋ ๊ฒ์ผ๋ก ์ง์ ๋์ด ํด์ ๋์ง ์์ผ๋ฏ๋ก ๋ฐ๋์ ์กด์ฌํด์ผ ํจ
+ ๋ผ๋์ค ๋ฒํผ์ ์ฌ๋ฌ ๊ฐ ๋์ดํ๋ ๊ฒฝ์ฐ ํด๋ฆญํ๋ ์์๋ง๋ค ๋ชจ๋ ์ ํ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ผ๋์ค ๊ทธ๋ฃน๊ณผ ํจ๊ป ์ฌ์ฉ
- ๋ผ๋์ค ๊ทธ๋ฃน
: ViewGroup-LinearLayout์ ํ์ ํด๋์ค๋ก ์กด์ฌํ๋ฉฐ, ๋ผ๋์ค ๋ฒํผ์ ๋ฌถ๊ธฐ ์ํด ์ฌ์ฉ
+ ๋ผ๋์ค ๊ทธ๋ฃน์์ ์ฌ์ฉํ๋ ๋ฉ์๋: clearCheck()
--> ํด๋น ๋ผ๋์ค ๊ทธ๋ฃน ์ ์ฒดํฌ๋ ์์๋ค์ ๋ชจ๋ ํด์ ํจ
ex) ์ค์ต_๋ผ๋์ค ๊ทธ๋ฃน๊ณผ ๋ผ๋์ค ๋ฒํผ ์ฌ์ฉํ๊ธฐ
1. ํ๋ ํธ๋ฅผ ์ด์ฉํ์ฌ 1๊ฐ์ ๋ผ๋์ค ๊ทธ๋ฃน๊ณผ 3๊ฐ์ ๋ผ๋์ค ๋ฒํผ ์ถ๊ฐํ๊ธฐ


2. ๋ผ๋์ค ๊ทธ๋ฃน์ ๋ํ id ๋ถ์ฌํ๊ธฐ

3. ๋ผ๋์ค ๋ฒํผ์ id์ text๋ฅผ ์๋์ ๊ฐ์ด ์์ ํ๊ธฐ


4. MainActivity.kt ํ์ผ์ ์ฝ๋๋ฅผ ์๋์ ๊ฐ์ด ์์ ํ๊ธฐ

5. ํ๋ก๊ทธ๋จ์ ์ ์ ์๋ ์ฌ๋ถ ํ์ธํ๊ธฐ

+ ํ๋์ ์์๋ง ์ ํํ ์ ์์์ ํ์ธ