我一直面临着一个问题.如何在Android中设置壁纸,而不是在5个主屏幕上拉伸它.为了清楚起见,我有一个分辨率为320x480px的资源图像,当我在Android中将其设置为壁纸时,它会被拉伸到5个屏幕,但我希望它只显示在1个屏幕上(或所有屏幕中的相同图像),得到它了?
我对使用livewallpaper不感兴趣.
解决方法:
让应用程序执行此操作的唯一方法是使用动态壁纸.
有两种类型的壁纸,静态和现场.静态背景的滚动由启动器应用程序控制.这就是LauncherPro和ADW可以控制滚动的原因.当用户选择动态壁纸时,启动器只显示LWP想要渲染的内容,因此LWP控制滚动(如果有的话).这就是MultiPicture LWP解决问题的方法.
所以你唯一的选择是实现一个自定义启动器(我怀疑你想要做这样的小功能)或实现一个动态壁纸.
而BTW,setWallpaperOffsetSteps是一个由动态壁纸上的启动器调用的内部方法,因此LWP知道它应该绘制的位置.您无法直接调用它,但您可以在LWP中监听onOffsetsChanged以方便您自己的滚动实现.