当前Android动态壁纸顶部的“活动用户界面”-如何像在Android桌面上一样处理左右滑动?

问题描述

| 我正在尝试通过设置在当前系统墙纸的顶部创建我的活动视图
<activity android:theme=\"@android:style/Theme.Wallpaper.NoTitleBar\">
要么
<activity android:theme=\"@android:style/Theme.Holo.Wallpaper.NoTitleBar\">
在Android清单文件中。 但是,当我在Android桌面上使用动态壁纸时,如果我向右或向左滑动到另一个桌面,则壁纸会发生变化(看起来像是从左向右显示)。 [注意:此效果称为“视差滚动”。 尽管其他触摸事件(轻击等)已发送到动态壁纸,但我的应用程序中没有此行为。 如何在应用程序中获得默认的Android行为?     

解决方法

动态壁纸通常不会响应onTouchEvent()触发滚动。取而代之的是,动态壁纸程序员通常通过处理onOffsetsChanged()事件来简化自己的生活,该事件在各种情况下均由启动器发送:侧滑,触摸小滚动点之一等。 您的应用程序唯一的可能性是拦截滑动,将其转换为onOffsetsChanged()事件,然后调用WallPaperService.Engine。我从未见过有人尝试这样做,这不是我所说的琐碎事,但值得一试。 :-)     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...