Added in API level 9

Callback2


interface Callback2 : SurfaceHolder.Callback
android.view.SurfaceHolder.Callback2

Additional callbacks that can be received for Callback.

Summary

Public methods
abstract Unit

Called when the application needs to redraw the content of its surface, after it is resized or for some other reason.

open Unit
surfaceRedrawNeededAsync(holder: SurfaceHolder, drawingFinished: Runnable)

An alternative to surfaceRedrawNeeded where it is not required to block until the redraw is complete.

Inherited functions

Public methods

surfaceRedrawNeeded

Added in API level 9
abstract fun surfaceRedrawNeeded(holder: SurfaceHolder): Unit

Called when the application needs to redraw the content of its surface, after it is resized or for some other reason. By not returning from here until the redraw is complete, you can ensure that the user will not see your surface in a bad state (at its new size before it has been correctly drawn that way). This will typically be preceeded by a call to surfaceChanged. As of O, surfaceRedrawNeededAsync may be implemented to provide a non-blocking implementation. If surfaceRedrawNeededAsync is not implemented, then this will be called instead.

Parameters
holder SurfaceHolder: The SurfaceHolder whose surface has changed. This value cannot be null.

surfaceRedrawNeededAsync

Added in API level 26
open fun surfaceRedrawNeededAsync(
    holder: SurfaceHolder,
    drawingFinished: Runnable
): Unit

An alternative to surfaceRedrawNeeded where it is not required to block until the redraw is complete. You should initiate the redraw, and return, later invoking drawingFinished when your redraw is complete. This can be useful to avoid blocking your main application thread on rendering. As of O, if this is implemented surfaceRedrawNeeded will not be called. However it is still recommended to implement surfaceRedrawNeeded for compatibility with older versions of the platform.

Parameters
holder SurfaceHolder: The SurfaceHolder which needs redrawing. This value cannot be null.
drawingFinished Runnable: A runnable to signal completion. This may be invoked from any thread. This value cannot be null.