目前,我正在使用它来显示我的应用程序背景作为手机墙纸。

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/

10-14 02:46