2011-05-23 3 views
2

Я пытаюсь создать вид мою деятельности на верхней части текущих обоев системы, установивActivity UI поверх текущих живых обоев Android - как левые или правые манипуляции обрабатываются, как на настольных компьютерах Android?

<activity android:theme="@android:style/Theme.Wallpaper.NoTitleBar"> 

или

<activity android:theme="@android:style/Theme.Holo.Wallpaper.NoTitleBar"> 

в файле манифеста Android.

Однако, когда я нахожусь на рабочем столе Android и имею живые обои, если я прокручиваю направо или налево на другой рабочий стол, обои меняются (чтобы выглядеть так, как показано справа от слева). [NB: этот эффект называется «прокруткой параллакса».]

Я не получаю это поведение в своем приложении, хотя другие события касания (краны и т. Д.) Отправляются на живые обои.

Как я могу получить поведение Android по умолчанию в своем приложении?

ответ

3

Живые обои обычно не вызывают прокрутку в ответ на onTouchEvent(). Вместо этого программа для живого обозревателя обычно упрощает свою жизнь, обрабатывая события onOffsetsChanged(), которые отправляются с помощью пусковой установки в любой из различных ситуаций: боковые щелчки, касание одной из маленьких прокручиваемых точек и т. Д.

Ваш единственный возможность для вашего приложения перехватить салфетки, преобразовать ее в событие onOffsetsChanged(), а затем вызвать WallPaperService.Engine. Я никогда не видел, чтобы кто-то пытался это сделать, и это не то, что я бы назвал тривиальным, но это того стоит. :-)