首先在app.build中配置 我出示下我得配置
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
//加入kapt 插件
apply plugin: 'kotlin-kapt'
android {
// dataBinding.enable = true
compileSdkVersion 28
defaultConfig {
applicationId "com.g.kotiledemo"
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
//开启databinding
dataBinding {
enabled true
}
kapt {
generateStubs = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
//配置kapt
"com.android.databinding:compiler:3.1.2"
}
等待gradle 导入完成后,开始编写自己得布局
<?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>
<import type="com.g.kotiledemo.Userinino"></import>
<variable
name="userinfp"
type="Userinino"></variable>
</data>
<LinearLayout
tools:context=".MainActivity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/num"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@{userinfp.name}"
android:textColor="#000"
android:textSize="14sp" />
<com.g.kotiledemo.view.LeftLineLayout
android:id="@+id/left_mian_line"
android:layout_width="match_parent"
android:layout_height="56dp"></com.g.kotiledemo.view.LeftLineLayout>
</LinearLayout>
加入了layout 标签和data 标签
这是我得bean 文件 未使用Kotlin
public class Userinino extends BaseObservable {
private String name;
private String passwrof;
public Userinino(String name, String passwrof) {
this.name = name;
this.passwrof = passwrof;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPasswrof() {
return passwrof;
}
public void setPasswrof(String passwrof) {
this.passwrof = passwrof;
}
}
bean文件对应在打他标签中
然后就是主要得Activity得配置
public class Userinino extends BaseObservable {
private String name;
private String passwrof;
public Userinino(String name, String passwrof) {
this.name = name;
this.passwrof = passwrof;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPasswrof() {
return passwrof;
}
public void setPasswrof(String passwrof) {
this.passwrof = passwrof;
}
}
最后得效果