我试图在动态壁纸应用中将图像作为背景绘制,但我不知道如何根据用户点击向右/向左滚动(就像你设置一个简单的壁纸,如果你将菜单移动到Rightmost,背景也会移动到Rightmost),这里是动态壁纸应用程序中的代码:
private void drawFrame() {
SurfaceHolder holder=getSurfaceHolder();
Canvas c=holder.lockCanvas();
c.drawBitmap(bg, 0, 0, paint);
holder.unlockCanvasAndPost(c);
handler.removeCallbacks(drawThread);
if (visible) handler.postDelayed(drawThread,100);
}
上面的代码只将背景绘制到画布上,但我想让它与简单的壁纸一样。例如,一张非常宽的图片,为什么它只显示适合"当前"屏幕。我看到其他动态壁纸,当您向左或向右移动到不同的工作区时,图片滚动...这是一个简单的选择 或者我可以遵循的任何其他例子?
答案 0 :(得分:0)
这是答案
private int _xOffset = 0;
private int _yOffset = 0;
public void onOffsetsChanged(float xOffset,float yOffset,
float xStep,float yStep,int xPixels,int yPixels) {
_xOffset = xPixels;
_yOffset = yPixels;
drawFrame();
}
在drawFrame()函数中:
c.drawBitmap(bg, _xOffset, _yOffset, paint);