- >我已经创建了一个应用程序。
- >在应用程序中,我拍摄了10张图片。
- >我的问题是,我已经将10张图片中的一张图片设置为动态壁纸,但是一段时间后它没有移动,我的代码如下:
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.service.wallpaper.WallpaperService;
import android.view.SurfaceHolder;
public class LiveWallpaperService extends WallpaperService
{
public void onCreate()
{
super.onCreate();
}
public void onDestroy()
{
super.onDestroy();
}
public Engine onCreateEngine()
{
return new WallpaperSerEngine();
}
class WallpaperSerEngine extends Engine
{
public Bitmap image1;
public Bitmap image2;
public Bitmap image3;
WallpaperSerEngine()
{
image1 = BitmapFactory.decodeResource(getResources(), R.drawable.fish);
image2 = BitmapFactory.decodeResource(getResources(), R.drawable.fish1);
image3 = BitmapFactory.decodeResource(getResources(), R.drawable.fish2);
}
public void onCreate(SurfaceHolder surfaceHolder)
{
super.onCreate(surfaceHolder);
}
public void onOffsetsChanged(float xOffset, float yOffset, float xStep, float yStep, int xPixels, int yPixels)
{
drawFrame();
}
void drawFrame()
{
final SurfaceHolder holder = getSurfaceHolder();
Canvas c = null;
try
{
c = holder.lockCanvas();
if (c != null)
{
c.drawBitmap(image1, 0, 0, null);
c.drawBitmap(image2, 0, 0, null);
c.drawBitmap(image3, 0, 0, null);
}
} finally
{
if (c != null) holder.unlockCanvasAndPost(c);
}
}
}
}
答案 0 :(得分:1)
你的代码毫无意义。仅在用户滚动壁纸时才绘制框架。所有位图都放在点(0,0),它们的位置没有变化。
我的建议是尝试使用此live wallpaper template。