2

我正在尝试通过设置在当前系统壁纸之上创建我的活动视图

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

或者

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

在 Android 清单文件中。

但是,当我在 Android 桌面上并拥有动态壁纸时,如果我向右或向左滑动到另一个桌面,则壁纸会发生变化(看起来像是从左到右显示)。[注意:这种效果称为“视差滚动”。]

尽管其他触摸事件(点击等)被发送到动态壁纸,但我的应用程序中没有出现这种行为。

如何在我的应用程序中获得默认的 Android 行为?

4

1 回答 1

3

动态壁纸一般不会响应 onTouchEvent() 触发滚动。相反,动态壁纸程序员通常通过处理 onOffsetsChanged() 事件来简化他的生活,这些事件由启动器在各种情况下发送:侧滑、触摸一个小滚动点等。

您唯一的可能是您的应用拦截滑动,将其转换为 onOffsetsChanged() 事件,然后调用 WallPaperService.Engine。我从未见过有人尝试这样做,这不是我所说的微不足道,但值得一试。:-)

于 2011-05-24T05:32:01.860 回答