【发布时间】:2012-06-04 16:43:31
【问题描述】:
我正在尝试创建一个动态壁纸,其动画始终位于当前主屏幕页面的中心,而不会丢失扩展背景。 我现在正在做的是绘制我的自定义背景位图,然后在其上绘制一些文本。
这是我的画框方法:
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);
}
如何在更改主屏幕页面时保持大背景“移动”,但添加一些在当前页面居中的动画?
【问题讨论】:
标签: android bitmap android-canvas live-wallpaper wallpaper