SurfaceHolder.Callback2
public
static
interface
SurfaceHolder.Callback2
implements
SurfaceHolder.Callback
android.view.SurfaceHolder.Callback2 |
Additional callbacks that can be received for Callback
.
Summary
Public methods | |
---|---|
abstract
void
|
surfaceRedrawNeeded(SurfaceHolder holder)
Called when the application needs to redraw the content of its surface, after it is resized or for some other reason. |
default
void
|
surfaceRedrawNeededAsync(SurfaceHolder holder, Runnable drawingFinished)
An alternative to surfaceRedrawNeeded where it is not required to block until the redraw is complete. |
Inherited methods | |
---|---|
Public methods
surfaceRedrawNeeded
public abstract void surfaceRedrawNeeded (SurfaceHolder holder)
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 SurfaceHolder.Callback.surfaceChanged(SurfaceHolder, int, int, int)
.
As of O, surfaceRedrawNeededAsync(SurfaceHolder, Runnable)
may be implemented
to provide a non-blocking implementation. If surfaceRedrawNeededAsync(SurfaceHolder, Runnable)
is not implemented, then this will be called instead.
Parameters | |
---|---|
holder |
SurfaceHolder : The SurfaceHolder whose surface has changed.
This value cannot be null . |
surfaceRedrawNeededAsync
public void surfaceRedrawNeededAsync (SurfaceHolder holder, Runnable drawingFinished)
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(SurfaceHolder)
will not be called.
However it is still recommended to implement surfaceRedrawNeeded(SurfaceHolder)
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 . |