โ ๋ฒํผ์ด ๋๋ ธ๋์ง ๊ฐ์งํ๊ธฐ - ๋ก๊ทธ๋ก ํ์ธํ๊ธฐ
๋ฒํผ์ id ์ค์ id๋ ํ๋ก์ ํธ ์์์ ๊ณ ์ (unique)ํด์ผ ํจ!
๋ฒํผ์ id๊ฐ runButton ์ด๋ผ๊ณ ๊ฐ์
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
findViewById<FloatingActionButton>(R.id.runButton).setOnClickListener {
Log.d("๋ก๋์ฑ", "๋ฒํผ ๋๋ฆ")
}
}
}
์์ ์ฝ๋๋ฅผ ์คํํ๊ธฐ ์ํด ์ด 4๊ฐ์ง import๊ฐ ํ์ํจ!
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import com.google.android.material.floatingactionbutton.FloatingActionButton
์๋๋ก์ด๋ ์คํ๋์ค์์๋ ์๋์ผ๋ก import ํด์ฃผ์ง๋ง,
์๋์ผ๋ก ์ธ์์ด ๋์ง ์๋๋ค๋ฉด?
- ์ง์ import ์ฝ๋ ์์ฑ
- alt + enter ๋ฅผ ๋๋ฌ importํ๊ธฐ
๐ ์ฝ๋ ํด์
findViewById<FloatingActionButton>(R.id.runButton).setOnClickListener {
Log.d("๋ก๋์ฑ", "๋ฒํผ ๋๋ฆ")
}
1๏ธโฃ findViewById(R.id.runButton)
: ํ๋ก์ ํธ ์์ ์๋ ์ปดํฌ๋ํธ ์ค์์ id๊ฐ runButton์ธ FloatingActionButton ์ ์ฐพ๋๋ค.
2๏ธโฃ ~~~.setOnClickListener { ….. }
: ‘.’ ์์ ์๋ ์ปดํฌ๋ํธ๊ฐ ํด๋ฆญ ๋์์ ๋ ์ค๊ดํธ({}) ์์ ์ฝ๋๋ฅผ ์คํํ๋ค.
3๏ธโฃ Log.d(“๋ก๋์ฑ”, “๋ฒํผ ๋๋ฆ”)
: ๋ก๋์ฑ์ด๋ผ๋ ํ๊ทธ๋ก ๋ฒํผ ๋๋ฆ์ Logcat์ ์ถ๋ ฅํ๋ค.
๋ฐ๋ผ์ ๋น๋ ํ runButton ํด๋ฆญํ๋ฉด
-> Logcat์ “๋ฒํผ ๋๋ฆ” ์ด๋ผ๋ ๋ก๊ทธ๊ฐ ์ถ๋ ฅ๋จ
Logcat์ ๊ฒ์์ฐฝ์ ๋ก๋์ฑ ์ด๋ผ๋ ํ ์คํธ๋ฅผ ๊ฒ์ํ๋ฉด ๋ก๋์ฑ์ด ํ๊ทธ์ธ ๋ก๊ทธ๋ง ํ์ธ ๊ฐ๋ฅ
โ ๋ฒํผ์ด ๋๋ ธ๋์ง ๊ฐ์งํ๊ธฐ - ํ ์คํธ ๋ฐ๊พธ๊ธฐ
๐ ๊ฐ๋จํ๊ฒ ๋ฒํผ์ ๋๋ ์ ๋ ํ ์คํธ๋ฅผ ๋ณ๊ฒฝ
findViewById<FloatingActionButton>(R.id.runButton).setOnClickListener {
findViewById<Button>(R.id.lottoNum1).text = "45"
}
Log.d(“๋ก๋์ฑ”, “๋ฒํผ ๋๋ฆ”)์ด๋ผ๋ ์ฝ๋ ๋์
findViewById(R.id.lottoNum1).text = “45” ์ฝ๋ ์ถ๊ฐ
- id๊ฐ lottoNum1์ธ Button ์ปดํฌ๋ํธ์ text ์์ฑ์ “45”๋ก ์ง์ ํ๋ผ๋ ๋ป
- ์ด๋ text๋ ์ซ์๊ฐ ์๋ ๋ฌธ์ or ๋ฌธ์ฅ์ด์ด์ผ ํจ (๋ฌธ์ฅ์ “” ๋ก ํํ)
โ ๋ฒํผ์ด ๋๋ ธ๋์ง ๊ฐ์งํ๊ธฐ - ๋ฐฐ๊ฒฝ์ ๋ฐ๊พธ๊ธฐ
๐ ๋ฐฐ๊ฒฝ์์ ๋ฐ๊พธ๋ ์ฝ๋ ์ถ๊ฐ
findViewById<FloatingActionButton>(R.id.runButton).setOnClickListener {
findViewById<Button>(R.id.lottoNum1).text = "45"
findViewById<Button>(R.id.lottoNum1).backgroundTintList = ColorStateList.valueOf(Color.rgb(255,0,0))
}
setOnClickListener ์ค๊ดํธ ์์ ์ํ๋ ์ฝ๋ ์ถ๊ฐ
๐ ๋ฐฐ๊ฒฝ์์ ๋ฐ๊พธ๋ ์ฝ๋
findViewById<Button>(R.id.lottoNum1).backgroundTintList = ColorStateList.valueOf(Color.rgb(255,0,0))
backgroundTintList ์์ฑ์ ColorStateList.valueOf(Color.rgb(r๊ฐ, g๊ฐ, b๊ฐ)) ์ผ๋ก ์ค์
-> ์ํ๋ r, g, b ์ปฌ๋ฌ๋ก ๋ฐฐ๊ฒฝ์ ๋ณ๊ฒฝ ๊ฐ๋ฅ
โ ์ปดํฌ๋ํธ๋ฅผ ๋ณ์๋ก ์ง์ ํ๊ธฐ
๋ณ์๋?
- ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํด๋๋ ๊ณต๊ฐ
- ์ซ์, ๋ฌธ์, ์ปดํฌ๋ํธ ๋ฑ์ ์ ์ฅ, ์ฌ์ฉ ๊ฐ๋ฅ
- ์ค๊ฐ์ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ก ๋ฎ์ด์์ ์ ์ฅ ๊ฐ๋ฅ
์ฝํ๋ฆฐ์์๋ ๋ณดํต ์ปดํฌ๋ํธ๋ฅผ ๋ณ์๋ก ์ง์ ํด๋๊ณ ์ฌ์ฉํจ.
val num1 = findViewById<Button>(R.id.lottoNum1)
findViewById<FloatingActionButton>(R.id.runButton).setOnClickListener {
num1.text = "45"
num1.backgroundTintList = ColorStateList.valueOf(Color.rgb(255,0,0))
}
findViewById<FloatingActionButton>(R.id.runButton).setOnClickListener {
findViewById<Button>(R.id.lottoNum1).text = "45"
findViewById<Button>(R.id.lottoNum1).backgroundTintList = ColorStateList.valueOf(Color.rgb(255,0,0))
}
์์ ์๋์ ์คํ ๊ฒฐ๊ณผ๋ ๊ฐ์!
๋ค๋ฅธ ์ ์?
์์ ์ฝ๋์์๋ **findViewById(R.id.lottoNum1)**๋ก ์ฐพ์ ์ปดํฌ๋ํธ๋ฅผ
num1์ด๋ผ๋ ๋ณ์์ ์ ์ฅํด๋๊ณ ๋ฐ๋ณต๋๋ ์ฝ๋๋ฅผ ์ค์์
=> ์ด๋ ๊ฒ ๋ณ์๋ก ์ ์ฅํด๋๊ณ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅ
โก ์ฌํ๋ด์ฉ
์ฝํ๋ฆฐ์์ val์ ๋ณํ์ง ์๋ ๋ณ์! (์์์๋ ๋ ๋ค๋ฅธ ๊ฐ๋ )
๋ฐ๋ผ์, ์๋ฌด๋ ๊ฒ๋ ๋ณํ ์ ์๋ ๋ณ์๋ var๋ก ์ ์ธ!!
โ ์ค๋์ ๋ฌธ์ : 6๊ฐ ๋ฒํผ ํ ์คํธ, ์๊น ๋ณ๊ฒฝํ๊ธฐ
๐ activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/floatingActionButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="32dp"
android:layout_marginBottom="41dp"
android:clickable="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:srcCompat="@android:drawable/ic_menu_rotate" />
<LinearLayout
android:layout_width="408dp"
android:layout_height="730dp"
android:gravity="center"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<Button
android:id="@+id/lottoNum1"
android:layout_width="70dp"
android:layout_height="80dp"
android:backgroundTint="#E0E0E0"
app:cornerRadius="80dp" />
<Button
android:id="@+id/lottoNum2"
android:layout_width="70dp"
android:layout_height="80dp"
android:backgroundTint="#E0E0E0"
app:cornerRadius="80dp" />
<Button
android:id="@+id/lottoNum3"
android:layout_width="70dp"
android:layout_height="80dp"
android:backgroundTint="#E0E0E0"
app:cornerRadius="80dp" />
<Button
android:id="@+id/lottoNum4"
android:layout_width="70dp"
android:layout_height="80dp"
android:backgroundTint="#E0E0E0"
app:cornerRadius="80dp" />
<Button
android:id="@+id/lottoNum5"
android:layout_width="70dp"
android:layout_height="80dp"
android:backgroundTint="#E0E0E0"
app:cornerRadius="80dp" />
<Button
android:id="@+id/lottoNum6"
android:layout_width="70dp"
android:layout_height="80dp"
android:backgroundTint="#E0E0E0"
app:cornerRadius="80dp" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
๐ MainActivity.kt
package com.example.lotto
import android.content.res.ColorStateList
import android.graphics.Color
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import com.google.android.material.floatingactionbutton.FloatingActionButton
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val num1 = findViewById<Button>(R.id.lottoNum1)
val num2 = findViewById<Button>(R.id.lottoNum2)
val num3 = findViewById<Button>(R.id.lottoNum3)
val num4 = findViewById<Button>(R.id.lottoNum4)
val num5 = findViewById<Button>(R.id.lottoNum5)
val num6 = findViewById<Button>(R.id.lottoNum6)
findViewById<FloatingActionButton>(R.id.floatingActionButton).setOnClickListener{
num1.text="43"
num1.backgroundTintList=ColorStateList.valueOf(Color.rgb(255,0,0))
num2.text="44"
num2.backgroundTintList=ColorStateList.valueOf(Color.rgb(255,128,0))
num3.text="25"
num3.backgroundTintList=ColorStateList.valueOf(Color.rgb(255,255,0))
num4.text="11"
num4.backgroundTintList=ColorStateList.valueOf(Color.rgb(0,255,0))
num5.text="8"
num5.backgroundTintList=ColorStateList.valueOf(Color.rgb(0,0,255))
num6.text="17"
num6.backgroundTintList=ColorStateList.valueOf(Color.rgb(127,0,255))
}
}
}
๐ ์คํ๊ฒฐ๊ณผ
https://codemate.kr/@guswlsdl04/๋ชจ๊ฐ์ฝ-์ฝํ๋ฆฐ-๊ธฐ์ดํธ-7์ผ์ฐจ CLICK HERE!
'๐ป Extracurricular > ์ฝ๋ฎค๋ํฐ ๋ชจ๊ฐ์ฝ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ชจ๊ฐ์ฝ < Kotlin ๊ธฐ์ดํธ > - 9์ผ์ฐจ (0) | 2022.03.09 |
---|---|
๋ชจ๊ฐ์ฝ < Kotlin ๊ธฐ์ดํธ > - 8์ผ์ฐจ (0) | 2022.03.09 |
๋ชจ๊ฐ์ฝ < Kotlin ๊ธฐ์ดํธ > - 6์ผ์ฐจ (0) | 2022.03.09 |
๋ชจ๊ฐ์ฝ < Kotlin ๊ธฐ์ดํธ > - 5์ผ์ฐจ (0) | 2022.03.09 |
๋ชจ๊ฐ์ฝ < Kotlin ๊ธฐ์ดํธ > - 4์ผ์ฐจ (0) | 2022.03.09 |