onOffsetsChanged:移动位图
我希望我的Bitmap具有屏幕的高度,并且具有比屏幕更大的宽度,如果用户更改桌面以便他可以看到整个图像,则向右或向左移动一点点。
这是我的代码部分工作:
int x = -1*(int)((xOffset*bmp.getWidth())); canvas.drawBitmap(bmp, x, 0, null);
谢谢!
您可以通过onOffsetsChanged()中的变量xPixels和yPixels获得精确的像素值。 在这里看到我的答案: android动态壁纸重新缩放
例如,在onOffsetsChanged()中,您可以设置私有类变量
mPixels = xPixels;
然后,在你的绘图程序中
holder = getSurfaceHolder(); c = holder.lockCanvas(); c.translate(mPixels, 0f); // c.drawBitmap ... goes here :-)
通常,您需要一个位图宽度为屏幕宽度两倍的位图,并且您的图稿位于中间。 例如:320像素宽屏幕 – > 640像素宽度位图,“中心”从160到480. mPixels在最左侧启动器屏幕(5)处为0,在中心处为-160,在最右侧屏幕处为-320 。