Ros*_*hak 0 flutter flutter-plugin
我有一个PlatformView用于在我的 Flutter 应用程序中显示地图。平台视图位于插件中,因此它PluginRegistry可以使用方法访问并注册平台视图PlatformViewRegistry platformViewRegistry()。
但是,我想将它从插件移动到主项目,以便将所有内容保留在一个项目中。
这可能platformViewRegistry吗,在这种情况下我应该如何访问?
小智 5
我是这样做的,使用flutterEngine您在主要活动中获得的参考来获取注册表:
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine)
YourPlugin.registerWith(flutterEngine)
}
Run Code Online (Sandbox Code Playgroud)
import io.flutter.embedding.engine.FlutterEngine
object YourPlugin{
fun registerWith(engine: FlutterEngine) {
engine
.platformViewsController.registry
.registerViewFactory(
YourView.VIEW_NAME, YourViewFactory(engine.dartExecutor.binaryMessenger))
}
}
Run Code Online (Sandbox Code Playgroud)
import android.content.Context
import io.flutter.plugin.common.BinaryMessenger
import io.flutter.plugin.common.StandardMessageCodec
import io.flutter.plugin.platform.PlatformView
import io.flutter.plugin.platform.PlatformViewFactory
class YourViewFactory(private val messenger: BinaryMessenger) : PlatformViewFactory(StandardMessageCodec.INSTANCE) {
override fun create(context: Context, id: Int, o: Any?): PlatformView {
return YourView(context, messenger, id)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
536 次 |
| 最近记录: |