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

网站开发市场成本html5音乐网站模板

网站开发市场成本,html5音乐网站模板,株洲荷塘区,把做的网站放到互联网上Flutter中实现中国省份地图功能开发指南 局部效果展示 可以点击省份改变颜色,更多功能可以自行拓展。 本文记录在Flutter项目中安卓端实现中国地图的过程。由于实现是通过Flutter调用安卓原生代码完成,iOS端需要另行处理。对于iOS开发者,可…

Flutter中实现中国省份地图功能开发指南

局部效果展示

可以点击省份改变颜色,更多功能可以自行拓展。

Flutter中实现中国省份地图_android

本文记录在Flutter项目中安卓端实现中国地图的过程。由于实现是通过Flutter调用安卓原生代码完成,iOS端需要另行处理。对于iOS开发者,可以考虑使用Appuploader这样的工具来简化iOS应用的测试和发布流程。

在Flutter中打开android文件夹

右键android文件夹,选择Flutter -> Open Android module in Android Studio

Flutter中实现中国省份地图_android_02

点击后会像打开一个纯Android项目一样,在这个界面中可以编写原生代码和相应插件。

如果你是第一次打开,它会下载gradle和构建项目需要的依赖。这个过程可能需要一些时间。

常见问题解决方案

Gradle下载超时问题

方法一:
修改仓库配置为阿里镜像:

allprojects {repositories {google()maven { url "https://jitpack.io" }mavenCentral()maven { url "https://maven.aliyun.com/repository/public" }}
}

方法二:
手动下载对应版本的Gradle并放到指定目录下。

构建失败问题

[flutter项目]/android/build.gradle中,注释掉一行代码:

rootProject.buildDir = '../build'
subprojects {//project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {project.evaluationDependsOn(':app')
}tasks.register("clean", Delete) {delete rootProject.buildDir
}

注意:在Flutter运行的时候,记得取消这行的注释。

原生代码编写

核心代码需要放到android\app\src\main\res\raw文件夹下。

目录结构如下图所示:

Flutter中实现中国省份地图_android_03

在MainActivity中加入以下代码:

class MainActivity: FlutterActivity() {override fun configureFlutterEngine(flutterEngine: FlutterEngine) {super.configureFlutterEngine(flutterEngine)GeneratedPluginRegistrant.registerWith(flutterEngine)flutterEngine.plugins.add(mutableSetOf<FlutterPlugin>(ChinaProvinceViewFlutterPlugin()))}
}

Flutter端代码实现

china_province_view.dart

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';const _ChinaProvinceView_TAG ='com.mrper.coronavirus.widgets.china-province-view';class ChinaProvinceView extends StatefulWidget {ChinaProvinceView({required this.width,required this.onViewCreated,})  : assert(width != null && width > 0, '地图宽度必须大于0');final double width;final Function(int id) onViewCreated;_ChinaProvinceViewState createState() => _ChinaProvinceViewState();
}class _ChinaProvinceViewState extends State<ChinaProvinceView> {final double _mapWHRatio = 1369.0 / 1141.0;Widget build(BuildContext context) => SizedBox(width: widget.width,height: widget.width / _mapWHRatio,child: AndroidView(viewType: _ChinaProvinceView_TAG,creationParamsCodec: StandardMessageCodec(),onPlatformViewCreated: widget.onViewCreated));
}class ChinaProvinceViewController {late MethodChannel? _methodChannel;late EventChannel? _eventChannel;ChinaProvinceViewController(int viewId) {_methodChannel = MethodChannel('$_ChinaProvinceView_TAG-$viewId');_eventChannel = EventChannel('$_ChinaProvinceView_TAG-$viewId-event');}set selectedBackgroundColor(int value) => _methodChannel?.invokeMethod('setSelectedBackgroundColor', {'value': value ?? Colors.red.value});void dispose() {if (_methodChannel != null) {_methodChannel?.setMethodCallHandler(null);_methodChannel = null;}if (_eventChannel != null) {_eventChannel = null;}}
}

map_page.dart

import 'package:ecology/component/app_bar.dart';
import 'package:flutter/material.dart';
import 'china_province_view.dart';class MapPage extends StatefulWidget {_MapPageState createState() => _MapPageState();
}class _MapPageState extends State<MapPage> {late ChinaProvinceViewController _chinaProvinceViewController;void _onChinaProvinceViewCreated(int viewId) {_chinaProvinceViewController = ChinaProvinceViewController(viewId)..selectedBackgroundColor = Colors.blue.value;}Widget build(BuildContext context) => Container(child: SingleChildScrollView(child: Column(children: [_buildChinaMapView()])),);Widget _buildChinaMapView() {return Container(margin: const EdgeInsets.all(5),child: ChinaProvinceView(width: MediaQuery.of(context).size.width - 10,onViewCreated: _onChinaProvinceViewCreated));}void dispose() {_chinaProvinceViewController?.dispose();super.dispose();}
}

总结

通过本文,我们实现了在Flutter项目中调用安卓原生代码来展示中国省份地图的功能。对于iOS开发者,可以考虑使用Appuploader这样的工具来简化iOS应用的测试和发布流程,提高开发效率。

_chinaProvinceViewController?.dispose();
super.dispose();
}
}


## 总结通过本文,我们实现了在Flutter项目中调用安卓原生代码来展示中国省份地图的功能。对于iOS开发者,可以考虑使用Appuploader这样的工具来简化iOS应用的测试和发布流程,提高开发效率。该篇文章代码参考自gitee上的开源项目。

文章转载自:

http://P0a4JKDr.wrLcy.cn
http://EYS2w9Mc.wrLcy.cn
http://CnmDjbaP.wrLcy.cn
http://06CLbhLQ.wrLcy.cn
http://EUzCUYgn.wrLcy.cn
http://ueGQdKof.wrLcy.cn
http://HlIwcDtb.wrLcy.cn
http://ldhH9OG4.wrLcy.cn
http://ZQDM1jlr.wrLcy.cn
http://3vAalgQ2.wrLcy.cn
http://oX9u7PvB.wrLcy.cn
http://0KFN4TO2.wrLcy.cn
http://NWajPtdn.wrLcy.cn
http://QpRSoOjU.wrLcy.cn
http://lWGAkXLH.wrLcy.cn
http://qPYxL6V9.wrLcy.cn
http://aJJx0d12.wrLcy.cn
http://YqFRsuNp.wrLcy.cn
http://WVfmT5NN.wrLcy.cn
http://gwuSmyJq.wrLcy.cn
http://CmzoH6Vc.wrLcy.cn
http://ID8JSzWi.wrLcy.cn
http://j09rUTCk.wrLcy.cn
http://K4jNYwJN.wrLcy.cn
http://41nkMnhz.wrLcy.cn
http://j6oP4unx.wrLcy.cn
http://910ETohg.wrLcy.cn
http://nNtT2DDK.wrLcy.cn
http://EyAHui64.wrLcy.cn
http://ivZn9AC6.wrLcy.cn
http://www.dtcms.com/wzjs/615507.html

相关文章:

  • 上海网站建设品建设银行登录用户名是什么
  • 电子产品网站建设分析的摘要上海装修公司排名榜单出炉
  • 建设网站投标标书范本wordpress调用好麻烦
  • 游戏制作专业江苏网站建设seo优化
  • 做服装加工哪个网站比较好做搜狗pc网站快速排
  • 代人做网站一学一做看视频网站
  • 珠海网站建设创意高端网站制作的公司
  • 网站域名类型合肥网站优化排名推广
  • 银川公司做网站南宁定制网站建设
  • 微信做网站支付工具运维兼职平台
  • 如何建立网站视频教程可以免费发广告的app
  • 做一个网站 多少钱wordpress当前分类下所有子分类
  • 企业网站自己可以做总部在上海的互联网公司
  • wdcp网站迁移丹阳建站
  • 传统小型企业做网站的好处合肥市建设网站市场信息价
  • wamp网站开发枣庄网站建设价格
  • 百度收录站长工具360优化大师下载
  • vs2017手机网站开发溧阳 招网站开发
  • 大气物流网站模块有什么关于网站建设实例的书
  • 知名营销类网站本站由 今科云平台网站建设技术开发
  • 佛山微网站建设哪家专业门网站源码
  • 深圳的网站建设快看看小程序入口
  • 学网站建设需要几年建站seo怎么赚钱
  • 做酒店的网站响应式设计的网站
  • 网站策划是干什么的云南网站建设效果好吗
  • 大寺网站建设公司软件开发一般多少钱
  • 做网站的网站违不违法专门查建设项目的网站
  • 2018网站如何做seo网络教育平台
  • 企业建设网站的帮助网页设计公司企业文化
  • 网站创建软件公司网站建设多少钱需要