目前,我正在使用它来显示我的应用程序背景作为手机墙纸。
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER,
WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER);
但是由于某种原因,当我通过按下图标启动应用程序时。它仅显示带有主屏幕上图标的活动屏幕。我没有使用对话框,但它看起来像一个对话框,因为布局就是这样设置的。因此,我只想在此活动运行时显示墙纸。但它仅在下一个事件发生(例如切换到其他活动)后才显示墙纸。我已经将该代码放在
onCreate()
上,并且每当执行setContentView()
.....有没有办法做这样的事情,或者只是没有办法? 最佳答案
对于AppCompat的用户,只需在styles.xml中使用以下内容,无需编写代码:
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowShowWallpaper">true</item>
<item name="android:windowTranslucentNavigation">true</item>
<item name="android:windowTranslucentStatus">true</item>
</style>
关于android - 如何始终将背景屏幕设置为墙纸?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8062286/