본문 바로가기
코딩

안드로이드 코틀린 - 버튼 보이기 숨기기

by 젊투 2021. 10. 27.

안드로이드 코틀린에서 버튼을 숨기고 보이는 명령어

 

Activity Main- LAYOUT

Activity Main - CODE

 

<Button
android:id="@+id/btnansw1"
android:layout_width="300dp"
android:layout_height="60dp"
android:layout_marginTop="60dp"
android:text="Answer1"
android:textColor="#0C0C0C"
app:backgroundTint="#5CE1E6"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/qsttext" />

<Button
android:id="@+id/btnansw2"
android:layout_width="300dp"
android:layout_height="60dp"
android:layout_marginTop="6dp"
android:text="Answer2"
android:textColor="#0C0C0C"
app:backgroundTint="#5CE1E6"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/btnansw1" />

<Button
android:id="@+id/btnansw3"
android:layout_width="300dp"
android:layout_height="60dp"
android:layout_marginTop="6dp"
android:text="Answer3"
android:textColor="#0C0C0C"
app:backgroundTint="#5CE1E6"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/btnansw2" />

<Button
android:id="@+id/btnansw4"
android:layout_width="300dp"
android:layout_height="60dp"
android:layout_marginTop="6dp"
android:text="Answer4"
android:textColor="#0C0C0C"
app:backgroundTint="#5CE1E6"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/btnansw3" />

<Button
android:id="@+id/btnnext"
android:layout_width="141dp"
android:layout_height="57dp"
android:layout_marginTop="52dp"
android:layout_marginEnd="52dp"
android:layout_marginRight="52dp"
android:text="Next"
android:textColor="#0C0C0C"
app:backgroundTint="#5CE1E6"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/btnansw4" />

<Button
android:id="@+id/btnprev"
android:layout_width="141dp"
android:layout_height="57dp"
android:layout_marginTop="52dp"
android:text="PREV"
android:textColor="#0C0C0C"
app:backgroundTint="#5CE1E6"
app:layout_constraintEnd_toStartOf="@+id/btnnext"
app:layout_constraintHorizontal_bias="0.727"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/btnansw4" />

<Button
android:id="@+id/btnnext2"
android:layout_width="141dp"
android:layout_height="57dp"
android:layout_marginTop="504dp"
android:text="Next"
android:textColor="#0C0C0C"
app:backgroundTint="#5CE1E6"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.207"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/btnansw4" />

 

 

MainActivity.kt 코드

 

1. Layout의 버튼 불러오기

class MainActivity : appCompatActivity()내에서 변수를 생성한다.

 

//finding variables from layout and allowing to use these in MainActivity
private lateinit var btnansw1: Button

override fun onCreate(savedInstanceState : Bundle?)안에서 

findViewByID를 사용하여 layout에서 생성한 id를 불러온다.

 

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

//calling the variables from the layout
btnansw1 = findViewById(R.id.btnansw1)

}

 

2.버튼을 보이고 숨기는 코드

fun (function)을 생성하여 특정 액션 (예 다른 버튼 생성시 혹은 다른 상태값)시 

버튼을 숨기거나 보이게 한다.

*fun은 override 밖에서 추가한다.

 

*funone의 경우 상수값을 입력으로 받으며 상태 0일때 버튼을 숨기고 상태 1일때 버튼을 보이게 한다.

이때 버튼의 Text또한 변경할 수 있다.

 

fun funone (int: Int){
if (int==0) {
btnansw1.visibility = View.INVISIBLE
btnansw1.text = "ans1"
} else if (int==1) {
btnansw1.visibility = View.VISIBLE

}

댓글