动态壁纸 (Wallpaper) 介绍
2012-04-12 13:54
316 查看
这几天闲来无事整自己折腾一个自己的动态桌面,看了一些书,论坛里面找了一些资料,但是大部分都是教你如果去实现一个动态的桌面,但是却没有告诉我们我想让用户来设置一些参数该怎么办?接下来我给大家揭晓:
开头还是卖萌整了一个生命周期图,让大家学习一下,呵呵。。。高手直接路过吧:
接下来,是种个函数的调用顺序,这个是我粘贴的,呵呵,不信自己可以去把这个函数都实现了,再打印一下。
当进入改壁纸的设置页面 但是还没有设置时
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>标签下面的内容
<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开发示范大全>中改的。代码里面也有比较全面的注释
,甚于动画的效果不是很难,相信你能看懂的
好了,不多说。源码地址
本文出自 “Android小子的” 博客,请务必保留此出处http://androidrigl.blog.51cto.com/7531835/1249382
开头还是卖萌整了一个生命周期图,让大家学习一下,呵呵。。。高手直接路过吧:
接下来,是种个函数的调用顺序,这个是我粘贴的,呵呵,不信自己可以去把这个函数都实现了,再打印一下。
当进入改壁纸的设置页面 但是还没有设置时
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>标签下面的内容
<service android:label="@string/app_name" android:name=".WallpaperKing" android:permission="android.permission.BIND_WALLPAPER"> <intent-filter> <action android:name="android.service.wallpaper.WallpaperService" /> </intent-filter> <meta-data android:name="android.service.wallpaper" android:resource="@xml/livewallpaper" /> </service> <activity android:name=".SettingsActivity" android:label="@string/app_name" android:exported="true" > </activity>android:permission="android.permission.BIND_WALLPAPER"是申明一个权限
<action android:name="android.service.wallpaper.WallpaperService这个说明你的是一个什么什么服务。
其中的activity就是我们的设置l界面 ,里面具体是什么内容,就是你自己去想象的地方了,注意 android:exported="true" 一定要设置,不然后果自己后则,嘿嘿 .。。
最好是在<manifest>加上
<uses-feature android:name="android.software.live_wallpaper" />再次重点:
我们都知道Wallpaper在res/xml目录下面有一个配置文件,也就是maifest里面的android:resource="@xml/livewallpaper"这里配置的。
来看一下示例的livewallpaper.xml内容:
<?xml version="1.0" encoding="utf-8"?> <wallpaper //这是一个申明,照写就行了 xmlns:android="http://schemas.android.com/apk/res/android" //这里就是申明一个设置界面, android:settingsActivity="com.kris.wallpaper.SettingsActivity" //这个就是缩略图 android:thumbnail="@drawable/thumb_icon" />看一下效果图:
示例是根据<Android SDK开发示范大全>中改的。代码里面也有比较全面的注释
,甚于动画的效果不是很难,相信你能看懂的
好了,不多说。源码地址
本文出自 “Android小子的” 博客,请务必保留此出处http://androidrigl.blog.51cto.com/7531835/1249382
相关文章推荐
- 动态壁纸 (Wallpaper) 介绍
- 动态壁纸 (Wallpaper) 介绍
- android设置动态壁纸 (Wallpaper) 介绍
- Android Live Wallpaper动态壁纸开发
- Android开发学习之WallPaper设置壁纸详细介绍与实例
- 动态壁纸 Live Wallpaper 应用程序必须实现动态壁纸的服务程序 WallpaperService 和描绘动态壁纸的引擎 WallpaperService.Engine
- Android开发学习之WallPaper设置壁纸详细介绍与实例
- 魔方动态壁纸android源码下载
- 《钢铁侠 3》的官方动态壁纸I…
- cglib动态代理介绍(一)
- 动态代理DynamicProxy 介绍
- 自定义View 实现简单的动态壁纸
- 动态壁纸--频谱不随音乐显示频谱
- [转]JSP页面的动态包含和静态包含示例及介绍
- C#动态数组实例介绍
- jquery 如何动态添加、删除class样式方法介绍
- cglib动态代理介绍
- 通过金矿模型介绍动态规划
- Java 动态代理介绍及用法
- 修改默认壁纸为动态壁纸