๋ณดํต class ์์ฑ ์ ๋ณ์๋ ํจ๊ป ์์ฑ๋๋๋ฐ ํด๋น ๋ณ์๋ฅผ ๋ฐ๋ก ์ฌ์ฉํ์ง ์๊ฑฐ๋ ๊ผญ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ผ๋ฉด class๋ฅผ ์์ฑํ ๋๋ง๋ค ์ด๊ธฐํ๋๋ ๋ณ์ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ๋ ์ํํธ์จ์ด์ ์คํ ์๊ฐ ์ธก๋ฉด์์ ์ํด๋ฅผ ๋ง์ด ๋ณด๊ฒ ๋๋ค. ๊ทธ๋์ ํด๋น ๋ณ์๊ฐ ํ์ํ ์๊ฐ๊น์ง ์ด๊ธฐํ๋ฅผ ์ต๋ํ ๋ฏธ๋ค ๋ฉ๋ชจ๋ฆฌ๋ ์คํ ์๊ฐ์์ ์ด๋์ ๋ณด๊ธฐ ์ํด ์ง์ฐ ์ด๊ธฐํ๋ฅผ ์ฌ์ฉํ๋ค.
โํ์ง๋ง ์ง์ฐ ์ด๊ธฐํ๋ ์ ์คํ๊ฒ ์ฌ์ฉํ์
ํด๋์ค ํน์ ์ธ์คํด์ค ์์ฑ ์์ ์ด๊ธฐํ ๋น์ฉ์ ์ค์ง๋ง, ์ง์ฐ ์ด๊ธฐํํ๋ ํ๋์ ์ ๊ทผํ๋ ๋น์ฉ์ ์ปค์ง๋ค. ๋๋ถ๋ถ์ ์ํฉ์์ ์ผ๋ฐ์ ์ธ ์ด๊ธฐํ๊ฐ ์ง์ฐ ์ด๊ธฐํ๋ณด๋ค ๋ซ๋ค.
์ด๋ ๊ฒ ๋ฐฐ์ ๋๋ฐ ์ด๋ฐ ์ง์ฐ ์ด๊ธฐํ์๋ ์ฃผ์ํ ์ ์ด ์์๋ค. ํ๋์ ์ ๊ทผํ๋ ๋น์ฉ์ ์ปค์ง๋ค๊ณ ํ๋๋ฐ ์์ง์ ์ดํด๋ฅผ ๋ชปํ๊ฒ ๋ค.
<MainActivity.kt>
private val clearButton by lazy {findViewById<Button>(R.id.btn_clear)}
private val addButton by lazy {findViewById<Button>(R.id.btn_add)}
private val runButton by lazy {findViewById<Button>(R.id.btn_run)}
private val numPick by lazy {findViewById<NumberPicker>(R.id.np_num)}
-> ๊ฐ์ด๋ฐ ์ ๋ ฌ
์์๊ฐ 3๊ฐ๋ผ๋ฉด 3๊ฐ ์ค ํ๋์๋ง ์ ์ฉํ๋ฉด ๋๋ค.
<NumberPicker
android:id="@+id/np_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
android:solidColor="#0E5D27"
android:background="#8BC34A"
app:layout_constraintEnd_toStartOf="@+id/iv_left"
app:layout_constraintHorizontal_bias="0.5"
//์ธ ์์ ์ค ํ๋์๋ง ์ ์ฉํ๋ฉด ๋๋ค.
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_title" />
<ImageView
android:id="@+id/iv_left"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginStart="16dp"
android:src="@drawable/ic_left"
app:layout_constraintBottom_toBottomOf="@+id/np_num"
app:layout_constraintEnd_toStartOf="@+id/btn_add"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/np_num"
app:layout_constraintTop_toTopOf="@+id/np_num" />
<Button
android:id="@+id/btn_add"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:text="๋ฒํธ ์ถ๊ฐํ๊ธฐ"
app:layout_constraintBottom_toBottomOf="@+id/iv_left"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toEndOf="@+id/iv_left"
app:layout_constraintTop_toTopOf="@+id/iv_left" />
-> 0.5, 0.5 ์ฃผ๋ฉด ๋ฐ๋ฐ์ผ๋ก ๋๋๋ค
ํด๋น ๋ทฐ๊ฐ ์ํ ๋ฐฉํฅ์ผ๋ก ์ด๋ ์ ๋์ ์์น์ ๋ฐฐ์น๋ ์ง๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๊ฐ์ 0์์ 1๊น์ง์ ๋ฒ์๋ฅผ ๊ฐ์ง๋ฉฐ, ๊ธฐ๋ณธ๊ฐ์ 0.5์ด๋ค.
<Button
android:id="@+id/btn_run"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginBottom="16dp"
android:text="์๋ ์์ฑ ์์"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/btn_clear"
app:layout_constraintHorizontal_bias="0.5" //bias
app:layout_constraintStart_toStartOf="parent" />
<Button
android:id="@+id/btn_clear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:layout_marginBottom="16dp"
android:text="์ด๊ธฐํ"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5" //bias
app:layout_constraintStart_toEndOf="@+id/btn_run" />