博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态壁纸 (Wallpaper) 介绍
阅读量:6902 次
发布时间:2019-06-27

本文共 2553 字,大约阅读时间需要 8 分钟。

这几天闲来无事整自己折腾一个自己的动态桌面,看了一些书,论坛里面找了一些资料,但是大部分都是教你如果去实现一个动态的桌面,但是却没有告诉我们我想让用户来设置一些参数该怎么办?接下来我给大家揭晓:

开头还是卖萌整了一个生命周期图,让大家学习一下,呵呵。。。高手直接路过吧:

接下来,是种个函数的调用顺序,这个是我粘贴的,呵呵,不信自己可以去把这个函数都实现了,再打印一下。

当进入改壁纸的设置页面 但是还没有设置时

09-21 07:55:05.575: INFO/System.out(1337): service onCreate
09-21 07:55:05.614: INFO/System.out(1337): service onCreateEngine
09-21 07:55:05.634: INFO/System.out(1337): MyEngine
09-21 07:55:05.663: INFO/System.out(1337): onCreate
09-21 07:55:05.746: INFO/System.out(1337): onSurfaceCreated
09-21 07:55:05.753: INFO/System.out(1337): onSurfaceChanged
09-21 07:55:05.785: INFO/System.out(1337): onVisibilityChanged
当点击设置壁纸按钮后
09-21 07:55:19.434: INFO/System.out(1337): onTouchEvent
09-21 07:55:19.574: INFO/System.out(1337): onTouchEvent
09-21 07:55:20.283: INFO/System.out(1337): service onCreateEngine
09-21 07:55:20.294: INFO/System.out(1337): MyEngine
09-21 07:55:20.304: INFO/System.out(1337): onCreate
09-21 07:55:20.414: INFO/System.out(1337): onSurfaceCreated
09-21 07:55:20.424: INFO/System.out(1337): onSurfaceChanged
09-21 07:55:20.443: INFO/System.out(1337): onVisibilityChanged
09-21 07:55:20.443: INFO/System.out(1337): onoffsetsChanged
09-21 07:55:20.863: INFO/System.out(1337): onVisibilityChanged
09-21 07:55:21.305: INFO/System.out(1337): onSurfaceDestoryed
09-21 07:55:21.333: INFO/System.out(1337): onDestroy
在壁纸上面点击
09-21 07:55:34.654: INFO/System.out(1337): onTouchEvent
09-21 07:55:34.754: INFO/System.out(1337): onTouchEvent
09-21 07:55:34.754: INFO/System.out(1337): onCommand
启动其他程序 完全覆盖屏幕
09-21 07:56:03.855: INFO/System.out(1337): onTouchEvent
09-21 07:56:03.884: INFO/System.out(1337): onTouchEvent
09-21 07:56:04.494: INFO/System.out(1337): onVisibilityChanged
设置其他壁纸 代替自己的壁纸
09-21 07:56:34.893: INFO/System.out(1337): onSurfaceDestoryed
09-21 07:56:34.893: INFO/System.out(1337): onDestroy
09-21 07:56:34.953: INFO/System.out(1337): service onDestory

接下来我们主要说一下如果添加自己的设置,让用户可以配置桌面动态效果的设置界面怎么来的。

先看一下我在mainfest文件里面<application>标签下面的内容

 

android:permission="android.permission.BIND_WALLPAPER"是申明一个权限

<action android:name="android.service.wallpaper.WallpaperService这个说明你的是一个什么什么服务。
其中的activity就是我们的设置l界面 ,里面具体是什么内容,就是你自己去想象的地方了,注意     android:exported="true" 一定要设置,不然后果自己后则,嘿嘿 .。。
最好是在<manifest>加上

再次重点:

我们都知道Wallpaper在res/xml目录下面有一个配置文件,也就是maifest里面的android:resource="@xml/livewallpaper"这里配置的。
来看一下示例的livewallpaper.xml内容:

 

看一下效果图:

 

示例是根据<Android SDK开发示范大全>中改的。代码里面也有比较全面的注释

,甚于动画的效果不是很难,相信你能看懂的

好了,不多说。

 

 

 

 

 

 

 

 

转载地址:http://pvldl.baihongyu.com/

你可能感兴趣的文章
Perl文件、目录常用操作
查看>>
从0开始--倒序输出。
查看>>
吉特仓库管理系统-.NET打印问题总结
查看>>
POJ 3026 Borg Maze(bfs+最小生成树)
查看>>
sqlplus 返回2 由于命令后没有加分号
查看>>
android Intent类
查看>>
IOS设计模式学习(19)策略
查看>>
poj 2155 Matrix
查看>>
shell中(),[]和[[]]的区别
查看>>
poj 2201 构造
查看>>
C# 利用反射动态创建对象[摘录]
查看>>
BlueDream.js(蓝梦)——jQuery网站使用引导插件
查看>>
WPFS数据绑定(要是后台类对象的属性值发生改变,通知在“client界面与之绑定的控件值”也发生改变须要实现INotitypropertyChanged接口)...
查看>>
【百度地图API】如何制作一张魔兽地图!!——CS地图也可以,哈哈哈
查看>>
lsblk请参阅块设备
查看>>
IOS APP 上传到AppStore
查看>>
hadoop的wordcount的改动版
查看>>
【转载】总结一下Android中主题(Theme)的正确玩法
查看>>
神经网络识别车牌字符
查看>>
利用pushState开发无刷页面切换
查看>>