首页 > 解决方案 > Flutter添加到应用程序Android在startActivity上显示白屏

问题描述

我有一个应用程序,其中有一些用 Flutter (add2app) 制作的屏幕。我有一个名为 CMFlutterActivity 的类,它是io.flutter.embedding.android.FlutterActivity. 我使用这个类来管理方法通道,但是我对屏幕的呈现方式不太满意,因为在呈现 Activity 时第一个 Flutter 框架是不可用的。经过一番研究,我发现 FlutterActivity 中有一个方法可以重写,以了解第一个 Flutter 帧何时可用,它被称为onFlutterUiDisplayed. 我遇到的问题是:如何在调用此方法后才使 Activity 可见?有没有人已经解决了这个问题?

我目前正在以下列方式开始活动:

startActivity(Intent(context, CMFlutterActivity::class.java))

以下是我的一些配置:

AndroidManifest.xml:

<activity
    android:name=".ui.flutter.CMFlutterActivity"
    android:theme="@style/AppTheme.NoFullscreen"
    android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
    android:hardwareAccelerated="true"
    android:windowSoftInputMode="adjustResize"
    android:screenOrientation="portrait"
    android:stateNotNeeded="true"
    android:exported="true"
/>

样式.xml:

<style name="AppTheme.NoFullscreen">
    <item name="android:windowFullscreen">false</item>
</style>

标签: flutter

解决方案


推荐阅读