-
AndroidView是一个原生端自定义的View,继承自PlatformView
-
混合开发中,自定义后的AndroidView,可以在flutter端使用
-
AndroidView可以在原生端和Flutter之间传递数据
2.1 原生项目添加FlutterModule
settings.gradle
setBinding(new Binding([gradle: this]))
evaluate(new File(
settingsDir,
‘flutter_module/.android/include_flutter.groovy’
))
include ‘:flutter_module’
说明:flutter_module为Flutter模块的项目名称
app/build.gradle
implementation project(path: ‘:flutter’)
2.2 自定义AndroidView
说明:
-
在app项目的java/包名目录下创建嵌入Flutter中的AndroidView
-
此View继承PlatformView,实现getView和dispose两个方法
-
getView :返回要嵌入 Flutter 层次结构的Android View
-
dispose:释放此View时调用,此方法调用后 View 不可用,此方法需要清除所有对象引用,否则会造成内存泄漏。
class MyFlutterView(context: Context) : PlatformView {
override fun getView(): View {
TODO(“Not yet implemented”)
}
override fun dispose() {
TODO(“Not yet implemented”)
}
}
2.3 设置返回的View为TextView
class MyFl