java - 更改应用程序的背景

标签 java android

示例代码如下:

        WallpaperManager wallpaperManager1 = WallpaperManager
                .getInstance(getApplicationContext()); 

        final Drawable wallpaperDrawable1 = wallpaperManager1.getDrawable();
        getWindow().setBackgroundDrawable(wallpaperDrawable1);

        if (wallpaperDrawable1==null)
        {                       
            Resources res = getResources();
            Drawable drawable1=res.getDrawable(R.drawable.bg1);
            getWindow().setBackgroundDrawable(drawable1);

        }

我想在我的应用程序中获取系统背景,如果它不存在或者如果用户删除它,那么我想从我的应用程序中设置一个默认图像以设置为应用程序背景。希望一切都清楚....

最佳答案

要查看当前系统是否有墙纸,您可以使用 peekDrawable() :

final Drawable wallpaperDrawable1 = wallpaperManager1.peekDrawable();

还有,你错过了else:

if (wallpaperDrawable1==null)
{                       
    Resources res = getResources();
    Drawable drawable1=res.getDrawable(R.drawable.bg1);
    getWindow().setBackgroundDrawable(drawable1);

}
else
{
    getWindow().setBackgroundDrawable(wallpaperDrawable1);
}

关于java - 更改应用程序的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8600888/

相关文章:

Java/Spring MVC 起始页面项目?

android - 在 Android 日历中添加事件

java - Android 手机上的套接字连接超时

android - 是否有任何软件可以让我为多种类型的手机开发应用程序?

java - 根据夏令时的小时数创建日志文件名

java - 无意义的 NullPointerException/变量决定不存在

android - 如何将音频文件存储到android的内部存储中

java - Xamarin android 图像 URI 到字节数组

java - 如何使 web 应用程序可以从 java 中的 https 访问

java - 存储键值对的数据结构的泛型