如何制作一个透明/显示壁纸的颤振应用程序



基本上,我试图用 Flutter 编写一个启动器,而我坚持的一件事是主屏幕。我正在尝试制作它,以便您可以透过应用程序和墙纸看到它。我像这样改变了AndroidManifest.xml

<activity android:name=".MainActivity"
android:launchMode="singleTop"
android:theme="@android:style/Theme.Wallpaper.NoTitleBar"  <!-- I changed this line -->
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">

并把它放在我的main.dart

return new MaterialApp(
title: 'Launcher',
theme: new ThemeData(
scaffoldBackgroundColor: Colors.transparent,  // <-- this line
),
home: new HomeScreen(),
);

但它仍然不起作用。我错过了什么?

现在可以(2019 年 7 月(使用透明颤振背景。

这里正在讨论Android问题

怎么做:

  • 此评论给出了详细的解释。

一些透明的安卓演示应用:

  • 显示设备壁纸 GitHub 存储库的透明应用
  • 一个透明的应用程序,它自己显示在其他应用程序之上。 GitHub 存储库

iOS问题在这里

评论表明,在iOS上可以有一个透明的背景。

这可以通过将以下行添加到视图控制器来实现。

flutterViewController.modalPresentationStyle = UIModalPresentationStyle.overCurrentContext

并设置flutterViewController.isViewOpaque = false

我相信你在 Flutter Engine 中遇到了一个错误,它被 https://github.com/flutter/flutter/issues/9627 跟踪。 在撰写本文时,该错误已经确定Flutter引擎(Flutter的c ++部分(在Android上默认用黑色填充整个FlutterView区域,然后再让Dart代码绘制。

最新更新