我是 Flutter 新手,尝试了 flutter.io 提供的 hello_services 示例。在那个例子中,颤动视图和原生视图都在同一个屏幕上。我的问题是,如何导航到两个不同的屏幕,比如一个用颤振写的,另一个用原生(android/ios)用参数或额外的。请帮助!!!!谢谢
问问题
2087 次
1 回答
4
我找到的唯一解决方案是将消息发送到您的本机视图(https://flutter.io/platform-services/),在 Java 或 Swift/ObjectiveC 代码中捕获消息,然后导航到另一个视图。
飞镖代码
Map params = <String, dynamic>{
"view": "MyView"
};
PlatformMessages.sendJson("navigateTo", params);
Java 代码
flutterView.addOnMessageListener("navigateTo", new FlutterView.OnMessageListener() {
@Override
public String onMessage(FlutterView view, String message) {
try {
JSONObject object = new JSONObject(message);
if (object.getString("view") == "MyView") {
// navigate to MyView
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
});
于 2017-02-15T12:48:07.683 回答