我正在创建一个带有视差滚动的动态壁纸。我读过这篇文章:动态壁纸背景的视差效果滚动。但是当我更改桌面时,背景会以错误的方式移动(如果我从左到右更改桌面,图片会从右到左移动)。如何改变方向?代码片段:
public void Init(Bitmap bitmap){
bg = new BitmapFactory().decodeResource(context.getResources(), R.drawable.thunder);
bg = Bitmap.createScaledBitmap(bg, (int)(width*1.4), height, true);
}
float dx = 0.0f;
@Override
public void onOffsetsChanged(float xOffset, float yOffset,
float xStep, float yStep, int xPixels, int yPixels) {
dx = (width - bg.getWidth()) * (1 - xOffset);
}
private void doDraw(Canvas canvas) {
canvas.save();
canvas.translate(dx, 0);
canvas.drawBitmap(bg, 0, 0, null);
canvas.restore();
}