public class WallpaperService.Engine
extends Object
java.lang.Object | |
↳ | android.service.wallpaper.WallpaperService.Engine |
墙纸的实际实施。 一个壁纸服务可能有多个实例在运行(例如作为一个真实的壁纸和预览),每个实例都由其自己的引擎实例表示。 您必须实现onCreateEngine()
才能返回具体的Engine实现。
Public constructors |
|
---|---|
WallpaperService.Engine() |
Public methods |
|
---|---|
int |
getDesiredMinimumHeight() 方便 |
int |
getDesiredMinimumWidth() 方便 |
SurfaceHolder |
getSurfaceHolder() 提供对绘制此壁纸的表面的访问权限。 |
boolean |
isPreview() 如果此引擎正在预览模式下运行,则返回true - 也就是说,在用户选择它作为实际壁纸之前,它将显示给用户。 |
boolean |
isVisible() 返回用户当前是否可以看到壁纸,这是提供给 |
void |
onApplyWindowInsets(WindowInsets insets) 用当前对壁纸有效的插图调用。 |
Bundle |
onCommand(String action, int x, int y, int z, Bundle extras, boolean resultRequested) 使用 |
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) 打电话通知您壁纸的偏移量在其包含内变化,对应于容器对 |
void |
onSurfaceChanged(SurfaceHolder holder, int format, int width, int height) |
void |
onSurfaceCreated(SurfaceHolder holder) |
void |
onSurfaceDestroyed(SurfaceHolder holder) |
void |
onSurfaceRedrawNeeded(SurfaceHolder holder) |
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
|
int getDesiredMinimumHeight ()
方便 WallpaperManager.getDesiredMinimumHeight()
,返回系统希望此壁纸运行的高度。
Returns | |
---|---|
int |
int getDesiredMinimumWidth ()
方便 WallpaperManager.getDesiredMinimumWidth()
,返回系统希望此壁纸运行的宽度。
Returns | |
---|---|
int |
SurfaceHolder getSurfaceHolder ()
提供对绘制此壁纸的表面的访问权限。
Returns | |
---|---|
SurfaceHolder |
boolean isPreview ()
如果此引擎正在预览模式下运行,则返回true - 也就是说,在用户选择它作为实际壁纸之前,它将显示给用户。
Returns | |
---|---|
boolean |
boolean isVisible ()
返回用户当前是否可以看到墙纸,这是提供给 onVisibilityChanged(boolean)
的最后一个值。
Returns | |
---|---|
boolean |
void onApplyWindowInsets (WindowInsets insets)
用当前对壁纸有效的插图调用。 这会为您提供用户通常可见的整体墙纸表面部分(忽略应用于其的位置偏移)。
Parameters | |
---|---|
insets |
WindowInsets : Insets to apply. |
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. |
void onCreate (SurfaceHolder surfaceHolder)
调用一次以初始化引擎。 返回后,引擎的表面将由框架创建。
Parameters | |
---|---|
surfaceHolder |
SurfaceHolder
|
void onDesiredSizeChanged (int desiredWidth, int desiredHeight)
当应用程序更改了壁纸所需的虚拟尺寸时调用。
Parameters | |
---|---|
desiredWidth |
int
|
desiredHeight |
int
|
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
|
void onSurfaceChanged (SurfaceHolder holder, int format, int width, int height)
方便 SurfaceHolder.Callback.surfaceChanged()
。
Parameters | |
---|---|
holder |
SurfaceHolder
|
format |
int
|
width |
int
|
height |
int
|
void onSurfaceCreated (SurfaceHolder holder)
方便 SurfaceHolder.Callback.surfaceCreated()
。
Parameters | |
---|---|
holder |
SurfaceHolder
|
void onSurfaceDestroyed (SurfaceHolder holder)
方便 SurfaceHolder.Callback.surfaceDestroyed()
。
Parameters | |
---|---|
holder |
SurfaceHolder
|
void onSurfaceRedrawNeeded (SurfaceHolder holder)
方便 SurfaceHolder.Callback.surfaceRedrawNeeded()
。
Parameters | |
---|---|
holder |
SurfaceHolder
|
void onTouchEvent (MotionEvent event)
当用户使用当前显示此壁纸的窗口执行触摸屏交互时调用。 请注意,您在此处收到的事件是由用户与之交互的实际应用程序驱动的,因此如果速度较慢,您将获得的移动事件较少。
Parameters | |
---|---|
event |
MotionEvent
|
void onVisibilityChanged (boolean visible)
打电话通知您墙纸变得可见或隐藏。 可见的墙纸只能使用CPU,这一点非常重要。 。
Parameters | |
---|---|
visible |
boolean
|
void setOffsetNotificationsEnabled (boolean enabled)
控制此壁纸是否在滚动壁纸时收到通知。 默认情况下,壁纸会收到通知,但默认的静态图像壁纸不会。 这是一个性能优化,将其设置为false。
Parameters | |
---|---|
enabled |
boolean : whether the wallpaper wants to receive offset notifications |
void setTouchEventsEnabled (boolean enabled)
控制当用户与当前正在显示壁纸的窗口进行交互时,此壁纸是否会从窗口管理器接收原始触摸事件。 默认情况下,它们被关闭。 如果启用,将以onTouchEvent(MotionEvent)
接收事件。
Parameters | |
---|---|
enabled |
boolean
|
void dump (String prefix, FileDescriptor fd, PrintWriter out, String[] args)
Parameters | |
---|---|
prefix |
String
|
fd |
FileDescriptor
|
out |
PrintWriter
|
args |
String
|