android ㄆ动态壁纸要怎么做出来
答案:2 悬赏:50 手机版
解决时间 2021-03-21 17:31
- 提问者网友:我是女神我骄傲
- 2021-03-21 03:34
android ㄆ动态壁纸要怎么做出来
最佳答案
- 五星知识达人网友:慢性怪人
- 2021-03-21 04:20
参考如下内容:
打个比方说,在我们设置一个动态壁纸时有预览,这时启动了一个预览的engine来绘制与刷新,当我们设置了壁纸以后又启动了一个填充整个桌面的engine在实时的绘制与刷新。所以动态壁纸的重点在engine里,这里等下提及。
现在着手创建一个动态壁纸。
第一步创建我们的WallpaperService类,同样在其中创建engine类,engine是WallpaperService的内部类。其中engine中关键的方法有
引用
复制代码 代码如下:
onCreate(SurfaceHolder surfaceHolder)
有了surfaceholder我们可以获得canvas对象,有了canvas我们就可以绘图
引用
复制代码 代码如下:
onOffsetsChanged(float xOffset, float yOffset, float xOffsetStep,float yOffsetStep, int xPixelOffset, int yPixelOffset)
屏幕滑动的时候触发此方法
xOffset可以用来判断屏幕序号 百分比的形式,举例说如果你手机上有5个分屏,第一屏这里是0.000,第二屏是0.2000 第三屏是0.4000以此类推
xOffsetStep从字面意义就能理解是步进 同样和你的分屏数有关 如果你的分屏数为5 则每次步进xOffsetStep都是0.20000
xPixelOffset就是实际上像素的移动距离,也就是说移动了多少像素,奇怪的是这里左右移动像素点的offset都为负数
引用
复制代码 代码如下:
public void onVisibilityChanged(boolean visible)
当动态壁纸的可见性发生变化时触发此方法,举例说在桌面上时,动态壁纸的visibility为true,当你运行某个程序的时候动态壁纸的visibility变为false,这里很好理解
引用
复制代码 代码如下:
public Bundle onCommand(String action, int x, int y, int z, Bundle extras, boolean resultRequested)
可以监听点击事件,点击时触发此方法,action为 android.wallpaper.tap,x记录了横坐标,y记录了纵坐标,z的作用未知,可能是为3d桌面预留下的? 没有试验过,z一般为0
打个比方说,在我们设置一个动态壁纸时有预览,这时启动了一个预览的engine来绘制与刷新,当我们设置了壁纸以后又启动了一个填充整个桌面的engine在实时的绘制与刷新。所以动态壁纸的重点在engine里,这里等下提及。
现在着手创建一个动态壁纸。
第一步创建我们的WallpaperService类,同样在其中创建engine类,engine是WallpaperService的内部类。其中engine中关键的方法有
引用
复制代码 代码如下:
onCreate(SurfaceHolder surfaceHolder)
有了surfaceholder我们可以获得canvas对象,有了canvas我们就可以绘图
引用
复制代码 代码如下:
onOffsetsChanged(float xOffset, float yOffset, float xOffsetStep,float yOffsetStep, int xPixelOffset, int yPixelOffset)
屏幕滑动的时候触发此方法
xOffset可以用来判断屏幕序号 百分比的形式,举例说如果你手机上有5个分屏,第一屏这里是0.000,第二屏是0.2000 第三屏是0.4000以此类推
xOffsetStep从字面意义就能理解是步进 同样和你的分屏数有关 如果你的分屏数为5 则每次步进xOffsetStep都是0.20000
xPixelOffset就是实际上像素的移动距离,也就是说移动了多少像素,奇怪的是这里左右移动像素点的offset都为负数
引用
复制代码 代码如下:
public void onVisibilityChanged(boolean visible)
当动态壁纸的可见性发生变化时触发此方法,举例说在桌面上时,动态壁纸的visibility为true,当你运行某个程序的时候动态壁纸的visibility变为false,这里很好理解
引用
复制代码 代码如下:
public Bundle onCommand(String action, int x, int y, int z, Bundle extras, boolean resultRequested)
可以监听点击事件,点击时触发此方法,action为 android.wallpaper.tap,x记录了横坐标,y记录了纵坐标,z的作用未知,可能是为3d桌面预留下的? 没有试验过,z一般为0
全部回答
- 1楼网友:山河有幸埋战骨
- 2021-03-21 05:55
我不会~~~但还是要微笑~~~:)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯