Android Kotlin 数据驱动模板
2023-09-14 08:58:44 时间
Android开发人员文档:
1. 搭建环境build.gradle:app
apply plugin: "kotlin-kapt"
android {
...
dataBinding {
enabled = true
}
}
2. 使用 layout
data
绑定你的视图
<?xml version="1.0" encoding="utf-8"?>
<layout>
<data>
<variable name="data" type="com.ajanuw.androiddemo.data.MyData" />
</data>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="22dp"
android:text="@{data.name}" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="22dp"
android:text="@{String.valueOf(data.age)}" />
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="@{data::onClickFriend}"
android:text="Button" />
</LinearLayout>
</layout>
main.kt
package com.ajanuw.androiddemo
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.databinding.DataBindingUtil
import com.ajanuw.androiddemo.data.MyData
import com.ajanuw.androiddemo.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() {
// 创建绑定类
private lateinit var b: ActivityMainBinding
lateinit var data: MyData
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
b = DataBindingUtil.setContentView(this, R.layout.activity_main)
data = MyData()
b.data = data
}
}
myData.kt
package com.ajanuw.androiddemo.data
import android.R.attr.name
import android.view.View
import androidx.databinding.BaseObservable
import androidx.databinding.Bindable
import com.ajanuw.androiddemo.BR
class MyData() : BaseObservable() {
@Bindable
var name = "you name"
@Bindable
var age = 12
fun onClickFriend(view:View) {
name = "hello world"
age = 22
notifyPropertyChanged(BR._all)
}
}
相关文章
- [Android Pro] Android学习——在线查看android源代码的3种方式
- Android handler机制
- 【ANDROID游戏开发十四】深入ANIMATION,在SURFACEVIEW中照样使用ANDROID—TWEEN ANIMATION!
- 如何使用点击超链接的方式打开Android手机上的应用
- 【学习干货】最新Android Kotlin入门教程指南,2023最新!
- 熬夜再战Android之修炼Kotlin-【findView】篇
- android 驱动 I2C 使用
- Android kotlin 系列讲解(基础篇) 两个不同的关键字变量声明 - var和val
- Android kotlin 系列讲解(基础篇) Any和Any?
- android Kotlin 高级函数和Lambda表达式
- 把 android 手机变成 web server (golang)
- android Audio调试程序常用命令
- 使用Android Studio build tensorflow/examples/android——直接用android studio即可
- Ubuntu下全命令行部署Android模拟器
- android kotlin基础语法
- android开发,Android Studio Build Output 输出的中文显示乱码