SceneView

public class SceneView
已知的直接子类

用于管理场景渲染和互动的 Sceneform SurfaceView。

嵌套类

接口 SceneView.AnimationTimeTransformer 定义从 Choreographer 时间到动画时间的转换。

继承的常量

继承的字段

公共构造函数

SceneView(上下文上下文)
构建 SceneView 对象并将其绑定到 Android 上下文。
SceneView(Context 上下文, AttributeSet 属性)
构建 SceneView 对象并将其绑定到 Android 上下文。

公共方法

无效
destroy()
必须退出 Sceneform。
static void
destroyAllResources()
立即释放所有渲染资源,即使正在使用这些资源也是如此。
无效
enableDebug(布尔值启用)
启用后,可提供各种可视化内容进行调试。
场景
getScene()
返回此视图创建的 Sceneform 场景。
布尔值
isDebugEnabled()
指明此视图是否已启用调试。
布尔值
无效
pause()
暂停 Sceneform,这会暂停渲染线程。
静态长整型
reclaimReleasedResources()
版本渲染资源已准备好进行垃圾回收

每帧调用一次,以收集未使用的资源。

无效
恢复()
恢复 Sceneform,用于恢复渲染线程。
无效
setAnimationTimeTransformer(SceneView.AnimationTimeTransformer动画时间转换器)
如需控制动画播放速率,SceneView 客户可以提供函数来返回更新全局动画光标时间的时间。
无效
setBackground可绘制对象背景)
将背景设置为指定的 Drawable,或移除背景。
无效
startmirroringToSurfaceSurface Surface、int left、int bottom、int width、int height)
如需捕获此视图的内容,请指定应镜像此 SceneView 的 Surface
无效
stopmirroringToSurfaceSurface Surface)
捕获完成后,调用此方法可停止将 SceneView 镜像到指定的 Surface

继承的方法

公共构造函数

public SceneView (Context context)

构建 SceneView 对象并将其绑定到 Android 上下文。

参数
context 要使用的 Android Context

public SceneView (Context context, AttributeSet attrs)

构建 SceneView 对象并将其绑定到 Android 上下文。

参数
context 要使用的 Android Context
attrs 要关联的 Android 属性集

公共方法

public void destroy ()

必须退出 Sceneform。

通常从 onDestroy() 调用。

public static void destroyAllResources ()

立即释放所有渲染资源,即使处于使用状态也是如此。

如果在此场景中或任何其他内容中不再渲染任何内容,并且必须立即释放内存,请使用此参数。

public void enableDebug (boolean enable)

启用后,可提供各种可视化内容进行调试。

参数
启用 True 表示启用调试可视化,False 表示停用可视化图表。

public Scene getScene ()

返回此视图创建的 Sceneform 场景。

public boolean isDebugEnabled ()

指明此视图是否已启用调试。

公开布尔值 onTouchEvent (MotionEvent motionEvent)

参数
motionEvent [动作事件]

public void pause ()

暂停 Sceneform,这会暂停渲染线程。

通常从 onPause() 调用。

public static long reclaimReleasedResources ()

版本渲染资源已准备好进行垃圾回收

每帧调用一次,以收集未使用的资源。可在渲染停止后手动调用以释放资源。

返回
  • 当前使用的资源数量

public void Resume ()

恢复 Sceneform,用于恢复渲染线程。

通常从 onResume() 调用。

抛出
CameraNotAvailableException 异常

public void setAnimationTimeTransformer (SceneView.AnimationTimeTransformeranimationTimeTransformer)

如需控制动画播放速率,SceneView 客户可以提供函数来返回更新全局动画光标时间的时间。请注意,返回的时间必须单调递增。

参数
动画转换时间 要应用于从 Choreographer 生成的纳米帧时间的转换,以生成动画更新时间。请注意,默认实现使用 Choreographer 时间(未转换)。如果在播放期间被替换,返回的时间仍必须从之前返回的值单调增加(即 Choreographer 值)。输入纳米时间可用于确保返回的时间永不减少。

public void setBackground (Drawable background)

将背景设置为指定的 Drawable,或移除背景。如果背景是 ColorDrawable,则 Scene 的背景颜色会设置为 getColor()(颜色的 Alpha 值会被忽略)。否则,默认为 setBackground(Drawable) 的行为。

参数
background

public void startmirroringToSurface (Surface surface, int left, int bottom, int width, int height)

如需捕获此视图的内容,请指定应镜像此 SceneView 的 Surface。使用 getSurface()createInputSurface()createPersistentInputSurface() 获取录制的输入 Surface。这会产生渲染性能成本,应仅在捕获此视图时才设置。如需停止其他渲染,请调用 stopmirroringToSurface。

参数
surface 渲染的场景应镜像到的 Surface。
左侧 表面应镜像到的矩形的左边缘。
下半场 表面应镜像到的矩形的下边缘。
width SurfaceView 应镜像到的矩形的宽度。
高度 SurfaceView 应镜像到的矩形的高度。

public void stopmirroringToSurface (Surface Surface)

捕获完成后,调用此方法可停止将 SceneView 镜像到指定的 Surface。如果未调用此方法,额外的性能费用将保持不变。

完成后,应用负责对 Surface 调用 release()

参数
surface