728x90
"안드로이드 스튜디오 :: 앱 만들기 기초 #2 (프로젝트 구성)" 바로가기
안드로이드 스튜디오에서 코틀린을 사용하여 버튼 만드는 방법을 살펴본다.
1. res > layout > activity_main.xml 파일 열기
메인 화면이 될 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">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button //항상 대소문자에 주의한다.
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="버튼1"/>
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
항상 대소문자에 유의하여 작성한다.
2. 버튼에 이름 넣기
만들어진 버튼은 껍데기만 존재할 뿐이다. 버튼이 버튼되게 하려면 기능을 하도록 명령해야 한고 그러기 위해선 다른 객체와 구별하기 위한 이름이 필요하다.
...
<Button //항상 대소문자에 주의한다.
android"@+id/button1" //이름을 지정해준다. 피카츄처럼
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="버튼1"
...
버튼에 ID를 지정해준다. ID는 객체마다 고유하기 때문에 중복될 수 없다. 누가 어떤 일을 할 것인지를 ID를 통해 명령하기 때문에 상당히 중요하다. "가라!" 아니고 "가라! 피카츄!" 라고 하는 것처럼. 각 속성의 순서는 달라져도 상관없다.
3. 자바(또는 코틀린) 파일에 클릭 이벤트 함수 추가
MainActivity.java(또는 MainActivity.kt) 파일을 열어 다음과 같이 작성한다.
kotlin
import kotlinx.android.synthetic.main.activity_main.* //(1)
...
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button1.setOnClickListener{ //(2)
Toast.makeText(applicationContext, "버튼1 클릭", Toast.LENGTH_LONG).show()
}
}
(1) 코틀린은 자바와 다르게 findViewById()를 사용하지 않고도 객체의 ID를 바로 사용할 수 있다. 이때 버튼에 오류가 발생한다면 (1)라이브러리가 import되어 있는지 살펴보자. 확실히 자바보단 코틀린이 간편하다.
실행 후 버튼을 클릭하면 지정해둔 메세지가 뜨는 것을 볼 수 있다.
[안드로이드 스튜디오 앱 만들기 기초 :: 버튼 만들기]
728x90
반응형
'Android > Kotlin' 카테고리의 다른 글
Kotlin :: 프로그래밍 언어 배우기 (변수 선언) (0) | 2020.09.30 |
---|---|
안드로이드 스튜디오 :: Kotlin :: Activity(화면) 값 전달받기 (0) | 2020.06.25 |
안드로이드 스튜디오 :: Kotlin :: Activity(화면)간 값 전달하기 (0) | 2020.06.22 |
안드로이드 스튜디오 :: Kotlin :: Anko 라이브러리 설치하기 (0) | 2020.05.12 |
안드로이드 스튜디오 :: Kotlin :: Activity(화면) 전환하기 (0) | 2020.05.11 |
댓글