Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

原生页面返回到 flutter 页面,状态栏颜色怎么刷新? #43

Closed
OHeroJ opened this issue Mar 21, 2019 · 8 comments
Closed

Comments

@OHeroJ
Copy link

OHeroJ commented Mar 21, 2019

flutter 页面状态栏为黑色模式,原生页面A为白色模式。
当跳转到原生的时候,状态栏的颜色变化了,然后切回到 flutter页面,状态栏颜色变成为原生页面A的颜色。 有没有提供一个监听接口,页面重新返回到可视视图的时候,进行回调?

@nightwolf-chen
Copy link
Contributor

目前没有考虑这个问题,你可以自己通过Method Channel去通知解决。如果有好的实现,欢迎贡献代码!

@OHeroJ
Copy link
Author

OHeroJ commented Mar 21, 2019

FlutterViewController *controller = (FlutterViewController *)self.window.rootViewController;
    
    /**********原生主动传值给flutter-Start**********/
    _nativeCount = 0;
    
    NSLog(@"原生实现 原生传值给flutter的通道标识");
    FlutterEventChannel *eventChannel = [FlutterEventChannel eventChannelWithName:@"https://www.jianshu.com/p/7dbbd3b4ce32" binaryMessenger:controller];
    //设置代理
    [eventChannel setStreamHandler:self];

如果要通过 FlutterEventChannel 进行将返回到这个页面进行个通知, 然后主动告诉flutter 要进行刷新颜色, 主动通知需要用 FlutterEventChannel, 那么这个binaryMessenger该传什么

@OHeroJ
Copy link
Author

OHeroJ commented Mar 21, 2019

xservice_kit 的有相关 readme?

@nightwolf-chen
Copy link
Contributor

暂时还没有,完善中。

@nightwolf-chen
Copy link
Contributor

我个人不建议使用event channel,Method Channel 本来是支持双向消息的,自己实现一个注册监听比Event Channel使用方便。

@OHeroJ
Copy link
Author

OHeroJ commented Mar 22, 2019

native 主动发消息给 flutter 页面 用 event channel
flutter 页面给 native 发消息用 method.

@zsmjhtn
Copy link

zsmjhtn commented Mar 22, 2019

简单考虑就像boost那样,在一个service中注册多个handler,比如openpage\closepage。控制状态栏可自定义个plugin,加一个类似controllStatusBar的hander, Method Channel双向通信时可以携带Map参数。
问题在于,这种plugin\handler的粒度划分需要仔细考虑,参数tag要统一管理,不然感觉膨胀的厉害,原生配合改动也很频繁

@OHeroJ
Copy link
Author

OHeroJ commented Mar 25, 2019

已解决此问题

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants