Bitmaps animieren inneren Leinwand

Mache ich ein Live Wallpaper. Ich habe eine Runnable (die Aktualisierung alle 5 Sekunden) wo ich es nenne, ein draw() Methode, die zieht etwas auf einem Canvas. Es ruft eine Methode in einer anderen Klasse, die angeblich so zeichnen Sie eine Reihe von bitmaps (mit einer Verzögerung, so ist es animiert). Wie würde ich es ändern Sie den code unten, so dass das nächste bitmap gezogen würde mit einer Verzögerung?

int imageToDraw = 10;
    while(imageToDraw>=0)
    {
        Bitmap b = BitmapFactory.decodeResource(mContext.getResources(), mContext.getResources().getIdentifier("image_"+imageToDraw, "raw", mContext.getPackageName()));

        float centerX = (width - b.getWidth())/2;
        float centerY = (height - b.getHeight())/2;

        Paint p = new Paint();
        p.setColor(Color.BLACK);
        mCanvas.drawRect(0f, 0f, (float)width, (float)height, p); //draws a rectangle to clear the screen
        mCanvas.drawBitmap(b, centerX,  centerY, new Paint());

        --imageToDraw;
        b.recycle();
    }
  • Gibt es einen Grund, brauchen Sie Leinwand?
  • Denn ich Tue ein Live-Wallpaper und ich bin Zeichnung einige andere Sachen auch.
InformationsquelleAutor domen | 2013-08-04
Schreibe einen Kommentar