2010-10-27 1 views
1

Я начал реализацию андроидских живых обоев, следуя примерам и учебникам, найденным в Интернете, и я не могу включить png background в качестве обоев. Также проверяется с похожими проблемами здесь и все еще не может заставить его работать.Android Live Wallpaper - не отображается фоновое изображение?

Это код:

public class LiveWallpaper extends WallpaperService { 

    /* IDs of recurces needed for animations*/ 
    private SurfaceHolder holder; 
    private static final String TAG = "MyActivity"; 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
    } 

    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
    } 

    @Override 
    public Engine onCreateEngine() { 
     return new WallpaperEngine(); 
    } 

    class WallpaperEngine extends Engine { 
    public final Runnable mDrawWallpaper = new Runnable(){ 
     public void run(){ 
      drawWallpaper(); 
     } 
    }; 

    @Override 
    public void onCreate(SurfaceHolder surfaceHolder){ 
     super.onCreate(surfaceHolder); 
     setTouchEventsEnabled(false); 
     loadImagesIntoMemory(R.drawable.wallpaper); 
     holder = getSurfaceHolder(); 

    } 

    void drawWallpaperContent(Canvas c, int resourceId){ 
     Bitmap decodeResoure = BitmapFactory.decodeResource (getResources(), resourceId); 
     c.drawBitmap(decodeResoure, 0, 0, null); 
    } 

    void drawWallpaper(){ 
     final SurfaceHolder holder = getSurfaceHolder(); 
     Canvas c = null; 
      c = holder.lockCanvas(); 

     if(c!=null){ 
      c.save(); 
      drawWallpaperContent(c, R.drawable.wallpaper); 
        c.restore(); 
     } 
     } 

     private void loadImagesIntoMemory(int resourceId){ 
     Resources res = getResources(); 
     BitmapFactory.decodeResource(res, resourceId); 
     } 

     @Override 
     public void onDestroy(){ 
     super.onDestroy(); 
     mHandler.removeCallbacks(mDrawWallpaper);   
     } 
    } 
} 

Bitmap хранится в вытяжке папке, а версия Android SDK является 2,2. После запуска живых обоев, я получаю только «Загрузка обоев», не показывая изображение обоев.

Кто-нибудь знает, в чем проблема?

Спасибо. Dj.

ответ

1

использовать это в розыгрыше

'Bitmap изображение = BitmapFactory.decodeResource (GetResources(), R.drawable.image);'

canvas.drawBitmap(image, 0, 0, paint); 

Вы можете передать null в параметре краски. м с использованием этого и его рабочих

0

Я боролся с аналогичной проблемой, c.drawColor(0xff000000);, прежде чем рисовать растровое изображение было для меня решением.

 Смежные вопросы

  • Нет связанных вопросов^_^