Пользовательский интерфейс Activity поверх текущих живых обоев Android - как обрабатывать движения влево или вправо, как на десктопах Android? - PullRequest
2 голосов
/ 23 мая 2011

Я пытаюсь создать вид моей активности поверх текущих системных обоев, установив

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

или

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

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

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

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

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

1 Ответ

3 голосов
/ 24 мая 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...