安卓动态壁纸是一款为安卓系统(android)手机提供手机壁纸的应用软件,多款精美高清动画,支持自由可编辑功能,为用户打造独特的壁纸桌面,自动使用和匹配用户的手机屏幕,让用户的手机随心而变。我们通过安卓动态app里面添加背景,滤镜,动效等素材就可以轻松制作动态壁纸。下面教你如何制作手机动态壁纸。
制作手机动态壁纸进入“安卓动态壁纸APP”,选择“+”
进入选择背景图界面,选择一张想要作为背景的图片。
选择好后点击“开始”
进入编辑界面,选择壁纸想要使用的滤镜。
在局部中,能够增加局部特效。
在贴图中,能够添加动态贴图。
在全屏中,能够点选添加全屏特效。
在点击中,能够添加点击特效。
在文字中能够添加文字素材。
确定文字素材样式后,选择“完成”
d框提示保存,输入壁纸名称,点击“保存”
d框提示保存成功,即可将该动态壁纸保存到壁纸库。
在动态壁纸设置界面,选择“安卓动态壁纸”进行使用即可。
看到有些手机酷炫的动态壁纸,有没有好奇过他们是如何实现的,其实我们自己也可以实现。
如果你了解使用过SurfaceView的话,那么开发一款动态壁纸对你来说其实非常简单。
动态壁纸的本质其实就是一个服务在维护一个动态壁纸引擎Engine,所以我们看到的动态效果其实是通过这个引擎画出来的。而维护这个引擎的服务,就是WallpaperService。本篇文章并不讨论内部实现原理,只是让大家知道如何去实现动态壁纸,所以就不详细说了。
大体上可分为三个步骤:
创建自定义WallpaperService继承WallpaperService
在Manifest中注册该Service并添加相关属性
创建所需要的xml文件
1.创建自定义WallpaperService
2.Manifest注册
一定要添加的几个地方:permission、intent-filter、meta-data。
3.创建需要的xml文件
这个xml文件就是Manifest中meta-data中的resource需要的文件:
需要注意第二个属性:settingsActivity,这个属性可以设置也可以不设置,他是启动一个设置动态壁纸的界面,一般情况下其实用不到这个界面,我们一般会使用PreferenceActivity去实现。下面是添加该属性和不添加该属性的区别:
完成这些之后,就是我们设计动态壁纸的时候了。回到自定义的Wallpaper类中:
我们当时在类中自定义了一个内部类MyEngine继承自Engine。这个Engine就是用来绘制的。关于Engine的几个主要方法如下:
onOffsetsChanged要注意一下,还记得有的手机滑动桌面时候背景图片会跟着左右移动吗,这个方法就可以实现这个效果,在手势滑动的每一帧都会回调依次。一下是个人理解的参数的含义:
xOffset:x方向滑动的百分比(与桌面分页数有关)
yOffset:y方向滑动百分比(一般用不到)
xOffsetStep:x方向每个分页所占的百分比(1 / xOffsetStep = 桌面的分页数)
yOffsetStep:同
xPixelOffset:x放下像素偏移量
y。。。。。
4.绘制。
实现绘制的方式,就跟SurfaceView的绘制一样了:
我只是简单的话了一个红色背景,效果如下:
当然可以实现很多不同的效果,这个就根据不同的需求去实现了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)