Flutter搜索跳转,flutter 跳转

Flutter跳转到原生iOS、Android页面

:之所以让AppDelegate继承于UINavigationControllerDelegate,并实现navigationController:willShow方法, ,所以实现代理方法对导航栏的显示做了判断。

我们一直强调成都网站设计、网站制作、外贸营销网站建设对于企业的重要性,如果您也觉得重要,那么就需要我们慎重对待,选择一个安全靠谱的网站建设公司,企业网站我们建议是要么不做,要么就做好,让网站能真正成为企业发展过程中的有力推手。专业网站建设公司不一定是大公司,创新互联作为专业的网络公司选择我们就是放心。

JumpTestViewController.swift 为:

JumpChannel.kt :

SecondActivity.kt :

在AndroidManifest.xml的application中注册SecondActivity:

在res文件夹下创建一个layout文件夹,并添加activity_second.xml文件:

Demo: flutter_jumpto_native

Android & Flutter 相互跳转

本文中native和flutter的跳转是借助于咸鱼的FlutterBoost和ARouter框架实现的。

Sync Now...

flutterBoost中需要给每个页面定义一个router_path,然后根据router_path找到对应页面再跳转。

在Application的onCreate中初始化

android jump to flutter

flutter jump to android

flutter跳转原生页面后的穿透问题

现象:

flutter页面通过present跳转原生页面后,原生页面上的点击会首先响应下面的flutter页面中的内容(比如按钮什么的)。

这是flutter框架一直存在的一个bug。在github上有相关的issue。

原因推测:

推测是flutter对控制器(或者view)加了分类,重写了控制器的点击事件,用来计算是否在对应的点击位置有flutter响应事件。没有的话再扔出去点击事件。

解决方案1:

在原生控制器中,加入点击事件的几个方法的空实现,用以覆盖flutter框架中的实现:

-(void)touchesBegan:(NSSetUITouch * *)touches withEvent:(UIEvent *)event{

}

-(void)touchesMoved:(NSSetUITouch * *)touches withEvent:(UIEvent *)event{

}

-(void)touchesCancelled:(NSSetUITouch * *)touches withEvent:(UIEvent *)event{

}

-(void)touchesEnded:(NSSetUITouch * *)touches withEvent:(UIEvent *)event{

}

让事件不被flutter截获即可。

解决方案2:

直接切换window的根控制器到原生控制器即可。别忘暂时保存flutter控制器。

在返回时再切换回flutter中。

解决方案3:

在flutter跳转到原生页面之前,在flutter中加上一个蒙层,用来隔绝手势往flutter下面的view传递。原生页面返回flutter时再移除这个蒙层。


新闻标题:Flutter搜索跳转,flutter 跳转
网址分享:http://scyanting.com/article/dsgocis.html