设置不能以编程方式滚动的壁纸?

时间:2014-02-10 14:44:25

标签: android

我曾经能够设置壁纸位图,而不使用下面这个(不正确的)代码滚动:

int deviceWidth = ...;
int deviceHeight = ...;
Bitmap bmp = new Bitmap(deviceWidth, deviceHeight);
...

WallpaperManager wm = WallpaperManager.getInstance(context);
wm.setWallpaperOffsetSteps(1, 1);
wm.suggestDesiredDimensions(deviceWidth, deviceHeight;
wm.setBitmap(bmp);

但开发人员文档现在指出我们不应该调用suggestDesiredDimensions(),除非我们是主屏幕替换应用程序。我不是。这对我的nexus 5也不起作用。

搜索SO帖子后,似乎推荐的创建不滚动壁纸的方法是为您的应用添加动态壁纸支持。您可以将动态壁纸设置为不滚动。请参阅最后一个答案,在此处以编程方式进行设置:

Setting live wallpaper programmatically

这是正确的方法,还是我错过了一个更简单的方法来解决这个问题?

由于

1 个答案:

答案 0 :(得分:0)

唯一100%的解决方法是制作LWP。

它不是太难,比静态壁纸更灵活。但也有一些模仿(例如你不能以编程方式设置LWP,只能打开LWP选择器和promt用户设置它)