拡張された背景を失うことなく、常に現在のホーム画面ページの中心にアニメーションがあるライブ壁紙を作成しようとしています。私が今行っているのは、カスタム背景ビットマップを描画し、その上にテキストを描画することです。
これは私の drawframe メソッドです:
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);
}
ホーム画面のページを変更するときに大きな背景「モバイル」を維持し、現在のページの中央にアニメーションを追加するにはどうすればよいですか?