废话不多说直接进入正题
1.当前我使用的版本:AndroidStudio 版本4.1
2.部分没有到4.1版本的开发工具可能需要添加如下代码(如果已有请忽略)
在工程的buid.gradle中添加如下:
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
3. 开启
在app的build.gradle中添加如下段代码:
这里我加了个viewBinding,不需要的可以去除。
Android Studio 3.6这么写:
android {
viewBinding {
enabled = true
}
dataBinding{
enabled = true
}
}
Android Studio 4.0可以这么写:
buildFeatures {
dataBinding = true
viewBinding = true
}
或者这样:
dataBinding {
enabled = true
}
4.使用:
XML:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<data>
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:id="@+id/tv_roll"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="卷起来" />
<Button
android:id="@+id/btn_roll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="开卷" />
</LinearLayout>
</layout>
kotlin:
package com.my.kyone
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.databinding.DataBindingUtil
import com.my.kyone.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView<ActivityMainBinding>(this, R.layout.activity_main)
initLinsener()
}
private fun initLinsener() {
binding.btnRoll.setOnClickListener{
binding.tvRoll.text = "好的!已经在卷了!"
}
}
}
运行截图:
完结撒花。