获取主屏幕数量而不调用 onoffsetschanged (用于壁纸)?

发布于 2024-11-28 02:18:44 字数 494 浏览 0 评论 0原文

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

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

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

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

I'm doing a live wallpaper. However, what is initially shown depends on the number of home screens.
While onOffsetsChanged() allows you to calculate the number of home screens, it gets called only if the user scrolls the homescreen.

So is there a way to get the current xStep and xOffSet without calling onOffSetsChanged()?

Edit: I may not need to know that per se. Here's what I'm doing: I'm basically drawing a portion of the bitmap. The portion shown depends on the current homescreen.

Edit 2: so to explain what I'm trying to do---I'm basically trying to mimick the scrolling wallpaper effect but with a video. The point is that the portion shown depends on the current homescreen. Here's the problem: So the user selects the wallpaper. OnSurfaceCreated() is called, followed by onSurfaceChanged(). However, onOffSetsChanged() is never called until the user tries to scroll the homescreens. That's the problem. You don't know what part of the bitmap/video to display until the user scrolls the screen. (So Josh's suggestion doesn't work. The part of the video that's displayed may be wrong---until the user scrolls the screen and we get the correct onOffSetsChanged() values.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

妞丶爷亲个 2024-12-05 02:18:44

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

Your edit doesn't really explain why you need to know how many screens there are. You can draw the center portion of your bitmap initially, then when xOffset changes to something like 0, draw the leftmost portion of your bitmap. What's the issue?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文