[英]How to make a transparent app in flutter?
我是 flutter 的新手,我正在为 android 开发一个启动器应用程序,我唯一无法实现的是使应用程序透明。当我应用 Colors.transparent 时,它总是返回黑屏而不是它下面的墙纸。可以任何人都可以帮我解决这个问题
首先,在 android 项目的res/values/styles.xml
中将您的应用程序的主题修改为此:
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
然后,将透明活动标志添加到启动意图:
import android.os.Bundle
import androidx.annotation.NonNull
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.android.FlutterActivityLaunchConfigs.BackgroundMode.transparent
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant
class MainActivity: FlutterActivity() {
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine);
}
override fun onCreate(savedInstanceState: Bundle?) {
intent.putExtra("background_mode", transparent.toString())
super.onCreate(savedInstanceState)
}
}
此repo 中还有一个较旧的透明应用程序示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.