动态壁纸蛮好玩的,也没接触过,看官方有就拿了学习下,是第一次接触引擎Engine,激动兴奋...效果做出来了,记录笔记,吼吼,跟大家交流学习, 废话不多说了,先看效果,再看源码,供大家交流学习,今天的效果如下图所示,因为手机开机后就要加载图片,所以就直接从开机启动完成后讲了,看图...
未开锁时立方体形式一:
开锁时立方体形式一与二:
简单的绘制效果,因为立方体都是下面这些图(由三角形拼成的)拼的,所以此处贴下这个效果图,效果制作的代码我放在形式一注释里面了,大家可以试下的,就是这个效果,临时引用的:
工程结构如下图所示:
因为形式一与形式二只是绘制点不一样,两个类都一样,防止篇幅过长(51有限制,超过80000字符就挂了,我已经超过了,这是第二边写了,所以形式二代码就不贴了),小马就直接贴形式一的代码与配置文件代码,详细的如有朋友要学习的话,下载下DEMO学习就是,小马基本的注释都加了,因为也在学习阶段,如有地方不足的,希望大家直接留言,批评指出,小马肯定感谢...
立方体形式一控制类代码:
package xiaoma.cube1; import android.graphics.Canvas; import android.graphics.Paint; import android.os.Handler; import android.os.SystemClock; import android.service.wallpaper.WallpaperService; import android.view.MotionEvent; import android.view.SurfaceHolder; /** * @Title: CubeWallpaper1.java * @Package cube1 * @Description: 初识Android动态壁纸引擎 * @author XiaoMa */ /* * 因为小马没接触过引擎,也无从下手学习,今天就拿官方的例子来试试刀了, * 吼吼,刚开始不知道,看了下代码,里面有讲到WallPaperService * 查询这个服务可以查到与之相关联的类与方法,如下面官方文档中讲的,大家 * 英语不好也可以用工具看个大概,英语不好的朋友记得多用工具学习下,小马 * 英语也不咋的.... * A wallpaper service is responsible for showing a live wallpaper behind * applications that would like to sit on top of it. This service object itself * does very little -- its only purpose is to generate instances of * WallpaperService.Engine as needed. Implementing a wallpaper thus involves * subclassing from this, subclassing an Engine implementation, and implementing * onCreateEngine() to return a new instance of your engine * 上面讲的大体是:一个类必须是WallpaperService引擎类的子类,而且里面必须重写 * onCreateEngine这个方法,要仔细看的话小马也看不懂英文,照着例子,看官方文档, * 多猜多用工具查就行了,小马英语烂的可以让你吐血...我能看懂,你肯定能看懂 */ public class CubeWallpaper1 extends WallpaperService { /*常用的都是这样的,用一个handler来动态的去刷新UI,对吧?猜的,看下面代码到底是不是*/ private final Handler mHandler = new Handler(); /** * 这个方法与Activity里面的一样,当这个类的服务被第一次创建时 * 调用,也就是说,这个方法只调用一次.. */ @Override public void