안드로이드에서는 액티비티를 통해 화면을 출력하게 된다.
화면에 내용을 표시하려면 뷰 클래스를 이용해 구성해야 한다.
해당 줄을 통해 activity_main.xml 파일을 전달하여 화면을 출력한다.
View
- 뷰 클래스의 최상위 클래스.
ViewGroup
- 뷰 여러개를 묶어서 제어할 목적으로 사용한다.
- 레이아웃 클래스를 사용한다.
레이아웃을 중첩하여 아래와 같은 구조를 만들 수 있다.
<activity_main.xml>
<TextView
...
android:id="@+id/text1"
/>
<MainActivity.kt>
setContentView(R.layout.activity_main)
val textView1: TextView = findViewById(R.id.text1)
id 속성 및 findViewById()를 통해 xml에 있는 뷰에 접근 가능하다.
액티비티에서 findViewById()를 이용하지 않고 XML파일에 등록된 뷰 객체를 사용하기 위한 방법
android {
...
viewBinding {
enabled = true
}
}
=====================================
android {
...
buildFeatures {
dataBinding = true
viewBinding = true
}
}
위의 두 방식 중 하나를 build.gradle파일에 선언하고 sync하면 된다.
레이아웃 XML파일에 등록된 뷰 객체를 포함하는 클래스가 자동으로 만들어진다.
[MainActivity.kt]
XML 파일의 이름에 맞춰
activity_main.xml ==> ActivityMainBindng
item_main.xml ==> itemMainBinding 으로 작성한다.
visibleBtn 및 invisibleBtn은 XML에 있는 버튼들의 id이다.