안드로이드 화면에 버튼을 생성하고, 버튼을 누르면 토스트메시지가 띄워지는 앱을 만들어보겠습니다.
1. 프로젝트 생성
- 안드로이드 스튜디오를 실행하여 "New Project"를 클릭합니다.
- "Empty Views Activity"를 클릭합니다.
- Name 항목에 앱이름을 수정해줍니다. (ex. ButtonPractice)
- 그 후 오른쪽 하단의 "Finish" 버튼을 클릭합니다.
2. xml 코드 작성
- 프로젝트를 생성하면 아래와 같은 화면이 나옵니다.
- 상단의 activity_main.xml을 클릭 후 오른쪽에 "Split"을 클릭해줍니다.
- 이런식으로 xml 코드가 보이게 되고 이제 이 코드를 수정해줍니다.
- <TextView ... /> 를 삭제 후 Button을 추가해주겠습니다.
- "<B"를 치면 하단에 리스트가 나오는데 이 중 "Button"을 선택해 엔터를 눌러줍니다.
- 아래와 같이 추가해줍니다.
- layout_width / layout_height은 View에 필수적으로 넣어주어야하는 값으로, 가로 / 세로 사이즈를 지정해주는 것이라고 생각하시면 됩니다.
- wrap_content는 View의 크기를 해당 내용물에 맞게 설정하는 것을 의미합니다.
- 부모 View의 크기에 맞게 설정하고 싶으시면 "match_parent"를 설정해주시면 됩니다.
- app:layout_constraintStart_toStartOf="parent": View의 시작 부분을 부모 View의 시작 부분에 맞춥니다.
- app:layout_constraintEnd_toEndOf="parent": View의 끝 부분을 부모 View의 끝 부분에 맞춥니다.
- app:layout_constraintTop_toTopOf="parent": View의 위쪽 부분을 부모 View의 위쪽 부분에 맞춥니다.
- app:layout_constraintBottom_toBottomOf="parent": View의 아래쪽 부분을 부모 View의 아래쪽 부분에 맞춥니다.
- Button의 id를 "button"으로 설정해줍니다.
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="버튼"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent" />
3. 코틀린 코드 작성
- 다시 MainActivity.kt 파일로 돌아와 코드를 작성해줍니다.
- val button = findViewById<Button>(R.id.button): R.id.button ID를 가진 버튼을 찾아서 button 변수에 할당합니다. 이때 findViewById 메서드를 사용하여 XML 레이아웃 파일에 정의된 View를 가져옵니다.
- button.setOnClickListener { ... }: 버튼에 클릭 리스너를 설정합니다. 이 리스너는 버튼이 클릭될 때 실행될 코드를 포함합니다.
- Toast.makeText(applicationContext, "버튼 테스트", Toast.LENGTH_SHORT).show(): 버튼이 클릭되었을 때 짧은 기간 동안 "버튼 테스트"라는 텍스트를 표시하는 토스트 메시지를 보여줍니다.
val button = findViewById<Button>(R.id.button)
button.setOnClickListener {
Toast.makeText(applicationContext, "버튼 테스트", Toast.LENGTH_SHORT).show()
}
4. 실행하기
- 기기를 연결 후 실행버튼을 눌러 앱을 실행합니다.
- 화면에 버튼이 생성되어있는 것을 확인하고, 누르면 하단에 토스트메시지가 생성되는 것을 확인합니다.
전체 코드는 하단 링크에 있습니다.