将XML文件设置为墙纸?

时间:2015-10-16 14:51:50

标签: android xml android-xml android-wallpaper

我有xml形状文件

<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
    android:angle="90"
    android:startColor="#420012"
    android:centerColor="#670000"
    android:endColor="#420012"
    android:type="linear" />
<stroke
    android:width="1px"
    android:color="#560000" />
</shape>

如何将其设为壁纸?可能吗?我需要一个解释。

如果我执行此操作,则设置设备的默认壁纸。

WallpaperManager wm=WallpaperManager.getInstance(this);
wm.SetResource(R.drawable.bg);

2 个答案:

答案 0 :(得分:1)

希望您在Manifest文件中包含以下权限: -

android.permission.SET_WALLPAPER

您创建的xml文件(bg.xml)需要放在drawable文件夹下的res文件夹中,根据您的代码,您可以将其设置为壁纸: -

WallpaperManager wm=WallpaperManager.getInstance(this);
wm.setResource(R.drawable.bg);

答案 1 :(得分:0)

动态壁纸使用SurfaceCanvas API进行绘图。你可以做的是从XML中膨胀一些视图并将它们绘制()到Canvas。但它很麻烦。冗长而不建议。