'kotlin-android-extensions' 가 안드로이드 4.1부터 deprecated 되었다.
Jetpack의 ViewBinding을 사용해야한다.
사용법은 간단하다.
// build.gradle.kts
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
}
...
// Android Studio 4.0 이상이면
buildFeatures{
viewBinding = true
}
...
// button.xml
<Button
android:id="@+id/loginButton"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginTop="20dp"
android:background="@drawable/rounded_corner_white_transparent"
android:text="Login"
android:textAllCaps="false"
android:textColor="#fff"
app:backgroundTint="@null" />
// MainActivity.kt
package com.example.layoutpractice
import android.os.Bundle
import android.util.Log
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import com.example.layoutpractice.databinding.ActivityMainBinding
// 메인화면
class MainActivity : AppCompatActivity() {
// viewBinding 객체선언
private lateinit var binding: ActivityMainBinding
val TAG: String = "로그";
// 뷰가 생성되었을 떄
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// viewBinding
// viewBinding 객체를 통해 xml의 id값들이 자동완성되고, 접근할수있게 된다.
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
// 그릴 xml 뷰 파일을 연결 시켜준다. 즉 설정한다.
// setContentView(R.layout.activity_main)
// 로그인 버튼 뷰에 클릭 리스너를 설정하였다.
// 기본식
// binding.loginButton.setOnClickListener(View.OnClickListener {
// onLoginButtonClicked()
// })
// 람다식
binding.loginButton.setOnClickListener {
onLoginButtonClicked()
}
}
fun onLoginButtonClicked() {
Log.d(TAG, "로그인 버튼 클릭")
}
}
Kotlin 합성에서 Jetpack 뷰 결합으로 이전 | Android 개발자 | Android Developers
이 페이지는 Cloud Translation API를 통해 번역되었습니다. Switch to English Kotlin 합성에서 Jetpack 뷰 결합으로 이전 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Ko
developer.android.com
https://developer.android.com/topic/libraries/view-binding?hl=ko
뷰 결합 | Android 개발자 | Android Developers
뷰 결합 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 뷰 결합 기능을 사용하면 뷰와 상호작용하는 코드를 쉽게 작성할 수 있습니다. 모듈에서 사용 설정
developer.android.com
'Android' 카테고리의 다른 글
| 안드로이드 Jetpack Compose 기본 Composable 모아보기 Row / Column / Box / LazyColumn / Image / Card / Scaffold / TextField / Button / Navigation (0) | 2023.12.14 |
|---|---|
| Android RecyclerView / 안드로이드 리사이클러뷰 사용법 (0) | 2023.12.04 |
| 안드로이드 로티 애니메이션 (android lottie animation) / 좋아요 버튼클릭 (0) | 2023.11.24 |
| 안드로이드 레이아웃 (리니어 Linear / 레러티브 Relative / 콘스트레인트 Constraint) (0) | 2023.11.15 |
| 안드로이드 동전 던지기 게임 코드 (0) | 2023.11.14 |