我正在尝试创建一个动态壁纸,其动画始终以当前主屏幕页面为中心,而不会丢失扩展背景。我现在正在做的是绘制我的自定义背景位图,然后在其上绘制一些文本。
这是我的并条框方法:
final SurfaceHolder holder = getSurfaceHolder();
Canvas canvas = null;
try {
canvas = holder.lockCanvas();
if (canvas != null) {
if(mBackgroundBitmap != null) {
canvas.drawBitmap(mBackgroundBitmap, 0, 0, null);
} else {
canvas.drawColor(Color.BLACK);
}
drawText(canvas);
}
}
finally {
if (canvas != null ) holder.unlockCanvasAndPost(canvas);
}
它确实有效,但很明显,当我在主屏幕上更改页面时,我得到了一个固定的背景图像,而不是像使用大壁纸时那样的不同“部分”。
我也尝试在锁定画布之前设置壁纸,但它不像预期的那样工作:
if(mBackgroundBitmap != null) {
try {
setWallpaper(mBackgroundBitmap);
} catch (IOException e) {
e.printStackTrace();
}
}
final SurfaceHolder holder = getSurfaceHolder();
Canvas canvas = null;
try {
canvas = holder.lockCanvas();
if (canvas != null) {
drawText(canvas);
}
}
finally {
if (canvas != null ) holder.unlockCanvasAndPost(canvas);
}
更改主屏幕页面时如何保持大背景“移动”,但在当前页面中添加一些动画?