跳转掉flutter页面这里没啥说的,会安卓原生开发的都懂
public void openPage(View view) {startActivity(new Intent(this, MainActivity.class));}
FlutterView flutterView = new FlutterView(this);FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT);LinearLayout flContainer = findViewById(R.id.ll);flContainer.addView(flutterView, lp);
flutterEngine = new FlutterEngine(this);flutterEngine.getDartExecutor().executeDartEntrypoint(DartExecutor.DartEntrypoint.createDefault());flutterView.attachToFlutterEngine(flutterEngine);
@Overrideprotected void onResume() {super.onResume();flutterEngine.getLifecycleChannel().appIsResumed();}@Overrideprotected void onPause() {super.onPause();flutterEngine.getLifecycleChannel().appIsInactive();}@Overrideprotected void onStop() {super.onStop();flutterEngine.getLifecycleChannel().appIsPaused();}
总结、通过上面的步骤就可以显示flutter页面内容如图


另外还有几种方法可以实现
FlutterFragment flutterFragment = FlutterFragment.createDefault();getSupportFragmentManager().beginTransaction().add(R.id.ll, flutterFragment).commit();
FlutterFragment flutterFragment = FlutterFragment.withNewEngine().initialRoute("route1").build();getSupportFragmentManager().beginTransaction().add(R.id.ll, flutterFragment).commit();
FlutterEngine flutterEngine = new FlutterEngine(this);flutterEngine.getNavigationChannel().setInitialRoute("route1");flutterEngine.getDartExecutor().executeDartEntrypoint(DartExecutor.DartEntrypoint.createDefault());FlutterEngineCache.getInstance().put("my_engine_id", flutterEngine);// 通过FlutterFragment引入Flutter编写的页面FlutterFragment flutterFragment = FlutterFragment.withCachedEngine("my_engine_id").build();