我试图让动态壁纸的背景在用户更改主屏幕时在滚动方面表现得像普通壁纸一样。我知道所需的方法是onOffestsChanged,但似乎无法正常工作。

是否有人建议或代码 fragment 可以使此工作正常进行?

最佳答案

让您的引擎实现onOffsetsChanged。 xOffset变量是从0到1的浮点值,其中0是最左边的屏幕,而1是最右边的屏幕。使用屏幕的宽度(来自onSurfaceChanged)和图像的宽度确定用来绘制图像的左x坐标。

(screenWidth - yourImageWidth) * (1 - xOffset);

这应该同时适用于screenWidth > yourImageWidthscreenWidth < yourImageWidth.

10-07 16:33