如何根据用户点击在动态壁纸应用程序中向右/向左滚动背景?

时间:2014-09-15 07:35:28

标签: android scroll live-wallpaper

我试图在动态壁纸应用中将图像作为背景绘制,但我不知道如何根据用户点击向右/向左滚动(就像你设置一个简单的壁纸,如果你将菜单移动到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);
}

上面的代码只将背景绘制到画布上,但我想让它与简单的壁纸一样。例如,一张非常宽的图片,为什么它只显示适合"当前"屏幕。我看到其他动态壁纸,当您向左或向右移动到不同的工作区时,图片滚动...这是一个简单的选择 或者我可以遵循的任何其他例子?

1 个答案:

答案 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);