Flutterハイブリッド開発ブラックスクリーン問題解決方法
1633 ワード
最近AndroidプロジェクトにFlutterエンジニアリングを組み込んだ際、原生プロジェクトからActivityを直接呼び出すとブラックスクリーンが発生する(すべてのマシンではなく、シミュレータに透明なテーマを付けると解決しやすいのですが、本体では無理です).
チュートリアル:https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps
チュートリアルに従ってwindowbackgroundを設定しても無駄です
チュートリアル:https://flutter.io/assets-and-images/#updating-the-launch-screen
最終的な試行:
他の人の方法を総合して、少し改善すればこの問題を解決することができます.
1.トピックは透明なトピックに設定され、現在のActivityとWindowsの背景があります.
2.コードの中で簡単に初期化することはできませんが、まず隠して、第一貞が描いた後に表示する必要があります.
これで移行するページがあり、すぐには効果が得られませんが、少なくとも醜くはありません.
チュートリアル:https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps
チュートリアルに従ってwindowbackgroundを設定しても無駄です
チュートリアル:https://flutter.io/assets-and-images/#updating-the-launch-screen
最終的な試行:
他の人の方法を総合して、少し改善すればこの問題を解決することができます.
1.トピックは透明なトピックに設定され、現在のActivityとWindowsの背景があります.
2.コードの中で簡単に初期化することはできませんが、まず隠して、第一貞が描いた後に表示する必要があります.
final FlutterView flutterView = Flutter.createView(
FlutterItemActivity.this,
getLifecycle(),
"route1"
);
setContentView(R.layout.flutter_item);
final LinearLayout layout = findViewById(R.id.flutter_fragment);
layout.addView(flutterView);
final FlutterView.FirstFrameListener[] listeners = new FlutterView.FirstFrameListener[1];
listeners[0] = new FlutterView.FirstFrameListener() {
@Override
public void onFirstFrame() {
layout.setVisibility(View.VISIBLE);
}
};
flutterView.addFirstFrameListener(listeners[0]);
これで移行するページがあり、すぐには効果が得られませんが、少なくとも醜くはありません.