Beiträge von Brotmesserninja

    hi !

    könnte mir wer bitte erklären...wieso meine onDraw Methode nicht aufgerufen wird.

    Ich habe das in meiner Init Funktion geschrieben ! (Das bedeutet ja das der SurfaceView nicht automatisch gedrawed wird.(was auch der fall zu sein scheint) weil ich will kontrolle über jeden drawCall haben.

    Code
    setWillNotDraw(true)


    und das in meiner surfaceview created method...

    Code
    override fun surfaceCreated(holder: SurfaceHolder) {
        isRunning = true
        updateThread.launch {
            start()
        }
    }


    in meiner update method die in einer koroutine läuft wird postInvalidate jedes mal gecallt.

    Normalweise müsste doch dann meine onDraw methode gecallt werden.

    Könnt Ihr mir bitte erklären wieso das nicht geschieht und erklären.

    Wie das richtig funktioniert.

    Danke im voraus ! :)

    Wann wird die immer aufgerufen ?

    Die Tooltip Info sagt mir das:


    android.view.View Manually render this view (and all of its children) to the given Canvas. The view must have already done a full layout before this function is called. When implementing a view, implement onDraw(Canvas) instead of overriding this method. If you do need to override this method, call the superclass version.

    hab das jetzt so und leider bleibt der emulator immer noch schwarz.


    evtl. mache ich was falsch...


    surfaceview schein ich noch nicht ganz zu durchschauen.

    hi danke schon mal.

    Mein Bildschirm bleibt einfach schwarz anstatt zu zeichnen was ich eigl. zeichnen wollte.


    1. fun draw() {
    2. canvas = holder.lockCanvas()
    3.  
    4. canvas.drawColor(Color.BLACK)
    5. canvas.drawRect(10f, 10f, 100f, 100f, paint)
    6.  
    7. holder.unlockCanvasAndPost(canvas)


    Fehlermeldung kommt keine.

    Wo bekomme ich den Canvas von meinem View ?

    Hi ! :Android: