我正在做一个动态壁纸。但是,最初显示的内容取决于主屏幕的数量。 虽然onOffsetsChanged()允许您计算主屏幕的数量,但只有在用户滚动主屏幕时才会调用它。
那么有没有办法在不调用onOffSetsChanged()的情况下获取当前的xStep和xOffSet?
编辑:我本身可能不需要知道。这就是我正在做的事情:我基本上是在绘制位图的一部分。显示的部分取决于当前的主屏幕。
编辑2:所以要解释我正在尝试做什么 - 我基本上试图模仿滚动壁纸效果,但有一个视频。关键是显示的部分取决于当前的主屏幕。问题在于:用户选择壁纸。调用OnSurfaceCreated(),然后调用onSurfaceChanged()。但是,在用户尝试滚动主屏幕之前,永远不会调用onOffSetsChanged()。那就是问题所在。在用户滚动屏幕之前,您不知道要显示的位图/视频的哪个部分。 (所以Josh的建议不起作用。显示的视频部分可能是错误的 - 直到用户滚动屏幕并获得正确的onOffSetsChanged()值。)
答案 0 :(得分:0)
您的编辑并没有真正解释为什么您需要知道有多少个屏幕。您最初可以绘制位图的中心部分,然后当xOffset更改为0时,绘制位图的最左侧部分。有什么问题?