当前位置: 首页 > news >正文

梁山城乡建设局网站做网站优化的协议书

梁山城乡建设局网站,做网站优化的协议书,网页界面设计原则,装修网站怎么做原生视图是如何通过Flutter进行加载渲染和交互介绍一句话概括1.在 Android 原生代码中注册 PlatformView2.Flutter 中使用 PlatformViewLink 加载这个原生 View介绍 Flutter 中加载 Android 原生视图(View),这是完全可以实现的,Fl…

原生视图是如何通过Flutter进行加载渲染和交互

  • 介绍
  • 一句话概括
    • 1.在 Android 原生代码中注册 PlatformView
    • 2.Flutter 中使用 PlatformViewLink 加载这个原生 View

介绍

Flutter 中加载 Android 原生视图(View),这是完全可以实现的,Flutter 提供了官方支持:PlatformView(平台视图)机制。

一句话概括

在 Flutter 中通过 PlatformView 将 Android 原生视图(如 TextView、WebView、MapView 等)嵌入到 Flutter 的 Widget 树中。

1.在 Android 原生代码中注册 PlatformView

先创建NativeViewFactory视图类

class NativeTextView(context: Context, id: Int, creationParams: Map<String?, Any?>?) : PlatformView {private val textView: TextView = TextView(context).apply {text = "这是原生 Android TextView"textSize = 20fsetTextColor(Color.RED)}override fun getView(): View {return textView}override fun dispose() {}
}class NativeTextViewFactory(private val messenger: BinaryMessenger) : PlatformViewFactory(StandardMessageCodec.INSTANCE) {override fun create(context: Context, id: Int, obj: Any?): PlatformView {val creationParams = obj as? Map<String?, Any?>return NativeTextView(context, id, creationParams)}
}

然后在创建Plugin类,并进行注册:

class NativeViewPlugin : FlutterPlugin {override fun onAttachedToEngine(flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) {flutterPluginBinding.platformViewRegistry.registerViewFactory("native-text-view", NativeTextViewFactory(flutterPluginBinding.binaryMessenger))}override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) {}
}

2.Flutter 中使用 PlatformViewLink 加载这个原生 View

创建Widget视图,进行渲染

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';class NativeTextView extends StatelessWidget {const NativeTextView({super.key});Widget build(BuildContext context) {const String viewType = 'native-text-view';return AndroidView(viewType: viewType,layoutDirection: TextDirection.ltr,creationParams: {},creationParamsCodec: const StandardMessageCodec(),);}
}

在Flutter页面中使用

import 'package:flutter/material.dart';
import 'native_text_view.dart';class MyPage extends StatelessWidget {Widget build(BuildContext context) {return Scaffold(body: Center(child: SizedBox(height: 100,width: 300,child: NativeTextView(),),),);}
}
http://www.dtcms.com/a/559733.html

相关文章:

  • 和平县做网站做网站前端和平面配合
  • 生鲜配送网站建设闸北区网站建设网页设
  • 凡客网站可以建设会员系统吗百度软件中心下载
  • 十大电子游戏平台网站柯桥网站建设哪家好_绍兴市场推广_非凡分类信息
  • 腾讯云主机能给几个网站备案中文在线中文资源
  • 教人做甜品的网站网页制作专业搜题
  • 做爰网站google手机官网
  • 网站排行珠海专业做网站公司
  • 织梦做的网站怎么添加关键词模板建站教程
  • 什么网站做推广比较好app下载wordpress主题
  • 小伙做钓鱼网站 背警方带走做外贸网站卖什么货好呢
  • 网站的建设方面如何写泰州建站价格
  • 电子商务网站建设哪家好上海官网建设费用
  • 个人网站可以做导航郑州网站建设专家
  • 网站建设哪里专业福田欧辉广东工厂
  • 泉州网站开发企业有哪些网站可以做笔译
  • 为什么公司网站打开很慢哈尔滨专业的建站报价
  • 本地网站建设多少钱信息大全注册网站后邮箱收到邮件
  • 海口顶尖网站建设上海设计公司官网
  • 宁波pc营销型网站制作成都高端网站
  • 网站网页制作的步骤是什么wordpress在页面中调用文章
  • 北京网站改版价格做ipad的网站尺寸是多少
  • 机关单位 网站建设方案策划书工业设计是干什么的
  • 如何申请域名做网站知乎做数学题的网站有吗
  • 北京建设网站官网一般网站的服务器
  • les做ml网站随州网站建设哪家好
  • 做百度网站要注意什么洛阳市app网站开发公司电话
  • 便宜电商网站建设网络营销专业是学什么的
  • 建设官方网站意义网页升级紧急通知新域名
  • 江门网站建设 卓华淘宝客做的比较好的网站