获取主屏幕数量而无需调用onoffsetchanged(壁纸)?

时间:2011-08-04 16:38:23

标签: android live-wallpaper

我正在做一个动态壁纸。但是,最初显示的内容取决于主屏幕的数量。 虽然onOffsetsChanged()允许您计算主屏幕的数量,但只有在用户滚动主屏幕时才会调用它。

那么有没有办法在不调用onOffSetsChanged()的情况下获取当前的xStep和xOffSet?

编辑:我本身可能不需要知道。这就是我正在做的事情:我基本上是在绘制位图的一部分。显示的部分取决于当前的主屏幕。

编辑2:所以要解释我正在尝试做什么 - 我基本上试图模仿滚动壁纸效果,但有一个视频。关键是显示的部分取决于当前的主屏幕。问题在于:用户选择壁纸。调用OnSurfaceCreated(),然后调用onSurfaceChanged()。但是,在用户尝试滚动主屏幕之前,永远不会调用onOffSetsChanged()。那就是问题所在。在用户滚动屏幕之前,您不知道要显示的位图/视频的哪个部分。 (所以Josh的建议不起作用。显示的视频部分可能是错误的 - 直到用户滚动屏幕并获得正确的onOffSetsChanged()值。)

1 个答案:

答案 0 :(得分:0)

您的编辑并没有真正解释为什么您需要知道有多少个屏幕。您最初可以绘制位图的中心部分,然后当xOffset更改为0时,绘制位图的最左侧部分。有什么问题?