canvas probleme

T

tenji73

Neues Mitglied
1
hallo,
bin recht neu in java und versuche gerade ein live wallpaper mit timer funktion zu programmieren hab aber zwei fragen:
1. ist es möglich den canvas inhalt zu löschen? nach jedem update erscheint die neue zeit über der alten. ich bin mir nicht sicher ob ein background mit canvas.drawColor() die richtige lösung ist - läuft da nicht der speicher irgendwann mal voll?
2.mein wallpaper funtzt wunderbar in der preview - nach dem "set wallpaper" startet er kurz bevor er abstürtzt, dann allerdings sofort wieder neustartet und weiterläuft..
vielleicht hat jemand ein paar tipps für mich... ;-)
danke schon mal und gruss
tom
hier noch mein code:

Code:
public class myClock extends  WallpaperService {
    @Override
    public Engine onCreateEngine() {
        return new wp();
    }
    
    class wp extends Engine{
        public Paint seconds;
        public Canvas canvas;
        private Handler mHandler = new Handler();
        
        @Override
        public void onSurfaceCreated(SurfaceHolder arg0) 
        {
            mHandler.postDelayed(mUpdateTimeTask, 10);
        }
        
        private Runnable mUpdateTimeTask = new Runnable() 
        {
            @Override
            public void run() 
            {
                canvas = getSurfaceHolder().lockCanvas();
                seconds = new Paint();
                seconds.setColor(0xFF666666);
                seconds.setTextSize(50);
                Date date = new Date();
                canvas.drawText(Double.toString(date.getSeconds()), 10 , 100, seconds);
                mHandler.postDelayed(this, 1000);
                getSurfaceHolder().unlockCanvasAndPost(canvas);
            }
        };
    }
}
 
zu 1: canvas.drawARGB malt alles über (solange kein Clipping gesetzt ist)

zu 2 wäre ein Log hilfreich - falls du noch nicht reingeschaut hast tu das! (adb logcat)
 
Zuletzt bearbeitet:

Ähnliche Themen

S
Antworten
4
Aufrufe
995
Sempervivum
S
R
Antworten
3
Aufrufe
1.633
Ritartet
R
N
Antworten
8
Aufrufe
1.019
NerkJ
N
Zurück
Oben Unten