Most visited

Recently visited

Added in API level 7

WallpaperService.Engine

public class WallpaperService.Engine
extends Object

java.lang.Object
   ↳ android.service.wallpaper.WallpaperService.Engine


墙纸的实际实施。 一个壁纸服务可能有多个实例在运行(例如作为一个真实的壁纸和预览),每个实例都由其自己的引擎实例表示。 您必须实现onCreateEngine()才能返回具体的Engine实现。

Summary

Public constructors

WallpaperService.Engine()

Public methods

int getDesiredMinimumHeight()

方便 WallpaperManager.getDesiredMinimumHeight() ,返回系统希望此壁纸运行的高度。

int getDesiredMinimumWidth()

方便 WallpaperManager.getDesiredMinimumWidth() ,返回系统希望此壁纸运行的宽度。

SurfaceHolder getSurfaceHolder()

提供对绘制此壁纸的表面的访问权限。

boolean isPreview()

如果此引擎正在预览模式下运行,则返回true - 也就是说,在用户选择它作为实际壁纸之前,它将显示给用户。

boolean isVisible()

返回用户当前是否可以看到壁纸,这是提供给 onVisibilityChanged(boolean)的最后一个值。

void onApplyWindowInsets(WindowInsets insets)

用当前对壁纸有效的插图调用。

Bundle onCommand(String action, int x, int y, int z, Bundle extras, boolean resultRequested)

使用 sendWallpaperCommand(IBinder, String, int, int, int, Bundle)处理发送到壁纸的 sendWallpaperCommand(IBinder, String, int, int, int, Bundle)

void onCreate(SurfaceHolder surfaceHolder)

调用一次以初始化引擎。

void onDesiredSizeChanged(int desiredWidth, int desiredHeight)

当应用程序更改了壁纸所需的虚拟尺寸时调用。

void onDestroy()

在发动机熄火之前调用。

void onOffsetsChanged(float xOffset, float yOffset, float xOffsetStep, float yOffsetStep, int xPixelOffset, int yPixelOffset)

打电话通知您壁纸的偏移量在其包含内变化,对应于容器对 WallpaperManager.setWallpaperOffsets()的呼叫。

void onSurfaceChanged(SurfaceHolder holder, int format, int width, int height)

方便 SurfaceHolder.Callback.surfaceChanged()

void onSurfaceCreated(SurfaceHolder holder)

方便 SurfaceHolder.Callback.surfaceCreated()

void onSurfaceDestroyed(SurfaceHolder holder)

方便 SurfaceHolder.Callback.surfaceDestroyed()

void onSurfaceRedrawNeeded(SurfaceHolder holder)

方便 SurfaceHolder.Callback.surfaceRedrawNeeded()

void onTouchEvent(MotionEvent event)

当用户使用当前显示此壁纸的窗口执行触摸屏交互时调用。

void onVisibilityChanged(boolean visible)

打电话通知您墙纸变得可见或隐藏。

void setOffsetNotificationsEnabled(boolean enabled)

控制此壁纸是否在滚动壁纸时收到通知。

void setTouchEventsEnabled(boolean enabled)

控制当用户与当前正在显示壁纸的窗口进行交互时,此壁纸是否会从窗口管理器接收原始触摸事件。

Protected methods

void dump(String prefix, FileDescriptor fd, PrintWriter out, String[] args)

Inherited methods

From class java.lang.Object

Public constructors

WallpaperService.Engine

Added in API level 7
WallpaperService.Engine ()

Public methods

getDesiredMinimumHeight

Added in API level 7
int getDesiredMinimumHeight ()

方便 WallpaperManager.getDesiredMinimumHeight() ,返回系统希望此壁纸运行的高度。

Returns
int

getDesiredMinimumWidth

Added in API level 7
int getDesiredMinimumWidth ()

方便 WallpaperManager.getDesiredMinimumWidth() ,返回系统希望此壁纸运行的宽度。

Returns
int

getSurfaceHolder

Added in API level 7
SurfaceHolder getSurfaceHolder ()

提供对绘制此壁纸的表面的访问权限。

Returns
SurfaceHolder

isPreview

Added in API level 7
boolean isPreview ()

如果此引擎正在预览模式下运行,则返回true - 也就是说,在用户选择它作为实际壁纸之前,它将显示给用户。

Returns
boolean

isVisible

Added in API level 7
boolean isVisible ()

返回用户当前是否可以看到墙纸,这是提供给 onVisibilityChanged(boolean)的最后一个值。

Returns
boolean

onApplyWindowInsets

Added in API level 21
void onApplyWindowInsets (WindowInsets insets)

用当前对壁纸有效的插图调用。 这会为您提供用户通常可见的整体墙纸表面部分(忽略应用于其的位置偏移)。

Parameters
insets WindowInsets: Insets to apply.

onCommand

Added in API level 7
Bundle onCommand (String action, 
                int x, 
                int y, 
                int z, 
                Bundle extras, 
                boolean resultRequested)

处理与sendWallpaperCommand(IBinder, String, int, int, int, Bundle)发送到墙纸的sendWallpaperCommand(IBinder, String, int, int, int, Bundle) 默认实现什么都不做,并且总是返回null作为结果。

Parameters
action String: The name of the command to perform. This tells you what to do and how to interpret the rest of the arguments.
x int: Generic integer parameter.
y int: Generic integer parameter.
z int: Generic integer parameter.
extras Bundle: Any additional parameters.
resultRequested boolean: If true, the caller is requesting that a result, appropriate for the command, be returned back.
Returns
Bundle If returning a result, create a Bundle and place the result data in to it. Otherwise return null.

onCreate

Added in API level 7
void onCreate (SurfaceHolder surfaceHolder)

调用一次以初始化引擎。 返回后,引擎的表面将由框架创建。

Parameters
surfaceHolder SurfaceHolder

onDesiredSizeChanged

Added in API level 7
void onDesiredSizeChanged (int desiredWidth, 
                int desiredHeight)

当应用程序更改了壁纸所需的虚拟尺寸时调用。

Parameters
desiredWidth int
desiredHeight int

onDestroy

Added in API level 7
void onDestroy ()

在发动机熄火之前调用。 在此之后,曲面将被销毁,并且此Engine对象不再有效。

onOffsetsChanged

Added in API level 7
void onOffsetsChanged (float xOffset, 
                float yOffset, 
                float xOffsetStep, 
                float yOffsetStep, 
                int xPixelOffset, 
                int yPixelOffset)

打电话通知您壁纸的偏移量将在其包含内发生变化,对应于容器对 WallpaperManager.setWallpaperOffsets()的调用。

Parameters
xOffset float
yOffset float
xOffsetStep float
yOffsetStep float
xPixelOffset int
yPixelOffset int

onSurfaceChanged

Added in API level 7
void onSurfaceChanged (SurfaceHolder holder, 
                int format, 
                int width, 
                int height)

方便 SurfaceHolder.Callback.surfaceChanged()

Parameters
holder SurfaceHolder
format int
width int
height int

onSurfaceCreated

Added in API level 7
void onSurfaceCreated (SurfaceHolder holder)

方便 SurfaceHolder.Callback.surfaceCreated()

Parameters
holder SurfaceHolder

onSurfaceDestroyed

Added in API level 7
void onSurfaceDestroyed (SurfaceHolder holder)

方便 SurfaceHolder.Callback.surfaceDestroyed()

Parameters
holder SurfaceHolder

onSurfaceRedrawNeeded

Added in API level 9
void onSurfaceRedrawNeeded (SurfaceHolder holder)

方便 SurfaceHolder.Callback.surfaceRedrawNeeded()

Parameters
holder SurfaceHolder

onTouchEvent

Added in API level 7
void onTouchEvent (MotionEvent event)

当用户使用当前显示此壁纸的窗口执行触摸屏交互时调用。 请注意,您在此处收到的事件是由用户与之交互的实际应用程序驱动的,因此如果速度较慢,您将获得的移动事件较少。

Parameters
event MotionEvent

onVisibilityChanged

Added in API level 7
void onVisibilityChanged (boolean visible)

打电话通知您墙纸变得可见或隐藏。 可见的墙纸只能使用CPU,这一点非常重要。

Parameters
visible boolean

setOffsetNotificationsEnabled

Added in API level 15
void setOffsetNotificationsEnabled (boolean enabled)

控制此壁纸是否在滚动壁纸时收到通知。 默认情况下,壁纸会收到通知,但默认的静态图像壁纸不会。 这是一个性能优化,将其设置为false。

Parameters
enabled boolean: whether the wallpaper wants to receive offset notifications

setTouchEventsEnabled

Added in API level 7
void setTouchEventsEnabled (boolean enabled)

控制当用户与当前正在显示壁纸的窗口进行交互时,此壁纸是否会从窗口管理器接收原始触摸事件。 默认情况下,它们被关闭。 如果启用,将以onTouchEvent(MotionEvent)接收事件。

Parameters
enabled boolean

Protected methods

dump

Added in API level 14
void dump (String prefix, 
                FileDescriptor fd, 
                PrintWriter out, 
                String[] args)

Parameters
prefix String
fd FileDescriptor
out PrintWriter
args String

Hooray!