onOffsetsChanged:移动位图
我希望我的位图具有屏幕的高度和比屏幕更大的宽度,如果用户更改桌面,那么他可以向右或向左移动一点,以便他可以看到整个图像。
这是我的代码,只能部分工作:
int x = -1*(int)((xOffset*bmp.getWidth()));
canvas.drawBitmap(bmp, x, 0, null);
谢谢!
i want my Bitmap that has the height of the screen and has a bigger width than the screen to be moved a little bit to the right or left if the user changes the desktop so he can see the entire image.
Here is my code that just works partially:
int x = -1*(int)((xOffset*bmp.getWidth()));
canvas.drawBitmap(bmp, x, 0, null);
thank you!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以通过 onOffsetsChanged() 中的变量 xPixels 和 yPixels 获得精确的像素值。在这里查看我的答案: android 动态壁纸重新缩放
例如,在 onOffsetsChanged() 中,您可以设置一个私有类变量
然后,在您的绘制例程中
,通常,您需要一个两倍于屏幕宽度的位图,并且您的图稿位于中间。例如:320像素宽度屏幕-> 640 像素宽度位图,“中心”从 160 到 480。最左侧启动器屏幕(共 5 个)的 mPixels 为 0,中心为 -160,最右侧屏幕为 -320。
You get exact pixel values via the variables xPixels and yPixels in onOffsetsChanged(). See my answer here: android live wallpaper rescaling
For example, in onOffsetsChanged(), you can set a private class variable
Then, in your draw routine
Typically, you will want a bitmap twice the width of your screen, with your artwork centered in the middle. For example: 320 pixel width screen -> 640 pixel width bitmap with "center" from 160 to 480. mPixels will be 0 at the left most launcher screen (of 5), -160 at the center, and -320 at the rightmost screen.