pub trait SurfaceHolder_Callback:
JObjRef
+ JObjNew
+ PartialEq
+ Debug {
const CLASS: &'static str = "android/view/SurfaceHolder$Callback";
const OBJECT_SIG: &'static str = "Landroid/view/SurfaceHolder$Callback;";
const DIM: u8 = 0u8;
// Required methods
fn surface_created<SH: SurfaceHolder>(&self, holder: &SH);
fn surface_changed<SH: SurfaceHolder>(
&self,
holder: &SH,
format: i32,
width: i32,
height: i32,
);
fn surface_destroyed<SH: SurfaceHolder>(&self, holder: &SH);
}
Expand description
客户端可以实现此接口来接收有关表面更改的信息。与 SurfaceView 一起使用时,被保留的 Surface 仅在调用 surfaceCreated(SurfaceHolder) 和 surfaceDestroyed(SurfaceHolder) 之间可用。 回调使用 SurfaceHolder.addCallback 方法设置。
Provided Associated Constants§
Sourceconst CLASS: &'static str = "android/view/SurfaceHolder$Callback"
const CLASS: &'static str = "android/view/SurfaceHolder$Callback"
android/view/SurfaceHolder$Callback
Sourceconst OBJECT_SIG: &'static str = "Landroid/view/SurfaceHolder$Callback;"
const OBJECT_SIG: &'static str = "Landroid/view/SurfaceHolder$Callback;"
Landroid/view/SurfaceHolder$Callback;
Required Methods§
Sourcefn surface_created<SH: SurfaceHolder>(&self, holder: &SH)
fn surface_created<SH: SurfaceHolder>(&self, holder: &SH)
首次创建表面后会立即调用此方法。此方法的实现应启动所需的任何渲染代码。
请注意,只有一个线程可以绘制到 Surface 中,因此如果您的正常渲染将在另一个线程中进行,则不应在此处绘制到 Surface 中。
holder
– 正在创建其表面的 SurfaceHolder。
Sourcefn surface_changed<SH: SurfaceHolder>(
&self,
holder: &SH,
format: i32,
width: i32,
height: i32,
)
fn surface_changed<SH: SurfaceHolder>( &self, holder: &SH, format: i32, width: i32, height: i32, )
在对表面进行任何结构更改(格式或大小)后,会立即调用此方法。此时,您应该更新表面中的图像。在 SurfaceCreated 之后,此方法始终至少调用一次。
holder
表面已更改的 SurfaceHolder。
format
表面的新 PixelFormat。
width
表面的新宽度。
height
表面的新高度。
Sourcefn surface_destroyed<SH: SurfaceHolder>(&self, holder: &SH)
fn surface_destroyed<SH: SurfaceHolder>(&self, holder: &SH)
在表面被销毁之前立即调用此函数。从此调用返回后,您不应再尝试访问此表面。
如果您有一个直接访问表面的渲染线程,则必须确保在从此函数返回之前该线程不再接触表面。
holder
– 正在销毁其表面的 SurfaceHolder。
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.