Прокрутка фона живых обоев с эффектом параллакса

Я пытаюсь заставить фон живых обоев вести себя как обычные обои в отношении прокрутки, когда пользователь меняет домашний экран. Я знаю, что для этого требуется метод onOffestsChanged, но я не могу заставить его работать.

У кого-нибудь есть совет или фрагмент кода, чтобы заставить это работать?


person brmcmaho    schedule 18.02.2011    source источник


Ответы (1)


Сделайте так, чтобы ваш движок реализовал onOffsetsChanged. Переменная xOffset представляет собой значение с плавающей запятой от 0 до 1, где 0 — крайний левый экран, а 1 — крайний правый. Используйте ширину экрана (из onSurfaceChanged) и ширину вашего изображения, чтобы определить левую координату x, с которой нужно рисовать ваше изображение.

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

Это должно работать как с screenWidth > yourImageWidth, так и с screenWidth < yourImageWidth.

person caller9    schedule 15.11.2011
comment
привет caller9 я сделал то, что вы говорите в моем коде, и он отлично работает на главном экране GO LAUNCHER, но когда я переключаюсь на свой родной домашний экран Android с домашнего экрана GO LAUNCHER, мои живые обои прекращают прокрутку параллакса. Пожалуйста, помогите мне избавиться от этого проблема. - person himanshu; 23.05.2013
comment
stackoverflow.com/questions/14258234/ - person Swati Rawat; 10.09.2013