1.Flutter页面嵌入原生
public class MyFlutterActivity extends FragmentActivity {
FlutterFragment flutterFragment;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_flutter);
initFlutterEngine();
attachFlutterFragment();
}
String ENGINE_ID = "a";
private FlutterEngine initFlutterEngine() {
FlutterEngine flutterEngine = FlutterEngineCache.getInstance().get(ENGINE_ID);
if (null == flutterEngine) {
flutterEngine = new FlutterEngine(this);
flutterEngine.getNavigationChannel().setInitialRoute("/");
flutterEngine.getDartExecutor().executeDartEntrypoint(DartExecutor.DartEntrypoint.createDefault());
FlutterEngineCache
.getInstance()
.put(ENGINE_ID, flutterEngine);
messageChannelFunction(this,flutterEngine);
}
return flutterEngine;
}
private void attachFlutterFragment() {
if (null == flutterFragment) {
flutterFragment =
FlutterFragment.withCachedEngine(ENGINE_ID)
.shouldAttachEngineToActivity(true)
.build();
}
getSupportFragmentManager()
.beginTransaction()
.add(R.id.container, flutterFragment)
.commit();
}
}
原文:https://www.cnblogs.com/wjw334/p/12693220.html