可爱宝贝下载链接

一、简介:

正如别人所说的一样:动态壁纸是一个Android应用程序,包括一个服务(WallpaperService)。该服务必须包括一个引擎(WallpaperService.Engine)。该引擎是连接用户、桌面、系统之间的桥梁。它也可以绘制桌面壁纸。动态壁纸是一个apk应用,但是不同的是这个在我们实现的时候可以不用activity

二、权限与声明:

在AndroidManifest.xml中添加权限android:permission="android.permission.BIND_WALLPAPER",否则该壁纸只能预览,不能被实际应用

在AndroidManifest.xml中添加声明android:name="android.service.wallpaper.WallpaperService"以便系统识别(后面代码中可见)

三、操作:

1.创建一个android工程(没有activity和布局文件的空工程)——MyWallPaper

2.在src下创建包com.mywallpaper.service,并创建一个服务类-MyWallPaperService

3.在AndroidManifest.xml中配置服务的信息

其中android:name是你的service的包类路径;

android:icon是在动画壁纸列表中显示的图标(相当于应用列表中的图标)

android:label:壁纸的标签,相当于一个应用的名称

android:resource="@xml/mywallpaper"是其信息,接下来实现。

<applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><serviceandroid:name="com.mywallpaper.service.MyWallpaperService"android:enabled="true"android:icon="@drawable/icon"android:label="@string/app_name"android:permission="android.permission.BIND_WALLPAPER" ><intent-filter android:priority="1" ><action android:name="android.service.wallpaper.WallpaperService" /></intent-filter><meta-dataandroid:name="android.service.wallpaper"android:resource="@xml/mywallpaper" /></service></application>

4.壁纸信息实现:在res目录下创建文件夹xml,添加xml文件mywallpaper.xml如下内容:

其中android:description是描述;后面两行信息可以不用

<wallpaper xmlns:android="http://schemas.android.com/apk/res/android"  android:thumbnail="@drawable/icon" android:description="@string/description"
/>

5.MyWallPaperService的实现:

5.1 继承WallPaperService并实现其方法

5.2 创建内部类MyEngine并继承Engine;

5.3 提供初始化图片的方法

/*** 初始图片*/public void initImg() {backgound = BitmapFactory.decodeResource(this.getResources(),R.drawable.backgound);}

5.4 提供绘画的方法

 /*** 绘画的方法*/private void draw(){SurfaceHolder holder = engine.getSurfaceHolder();Canvas canvas = holder.lockCanvas(null);if (canvas != null) {canvas.drawBitmap(backgound, 0, 0, null);}holder.unlockCanvasAndPost(canvas);}

5.5 engine中创建时初始化图片

     private final Paint paint = new Paint(); // 创建画笔@Overridepublic void onCreate(SurfaceHolder surfaceHolder) {super.onCreate(surfaceHolder);paint.setAntiAlias(true);// 打开抗锯齿initImg();// 初始化位图资源}}

5.6 surface被创建时绘图

     /*** 该方法是应用程序第一次创建时要调用。可在这个方法里调用父类对应方法。* 该方法执行完毕后系统会立即调用onSurfaceChanged方法*/@Overridepublic void onSurfaceCreated(SurfaceHolder holder) {// TODO Auto-generated method stubsuper.onSurfaceCreated(holder);draw();}

6.至此即可运行:

android动态壁纸1——初步框架(有背景,能使用,仿可爱宝贝)相关推荐

  1. Android动态壁纸解析

    转载自 Yalin Jin的文章:http://www.kinglloy.com/ MENU Android动态壁纸解析 24 JULY 2017 阅读之前 建议下载使用Style动态壁纸应用 文章后 ...

  2. Android 动态壁纸开发(时钟)

    Android 动态壁纸开发(时钟) 这是我人生第一篇文章,希望大家不喜无喷啊!有兴趣的可以看看玩,因为语言组织能力有限,就废话不多说直接进入重点! 先看效果 上图是动态壁纸钟的一个时钟. 我们先来看 ...

  3. android 动态壁纸开发

    转:http://www.eoeandroid.com/thread-100389-1-1.html android 动态壁纸开发 参考:http://www.ophonesdn.com/articl ...

  4. 制作android动态壁纸,如何使用LibGDx制作Android动态壁纸?

    我想制作 Android动态壁纸.我想使用LibGDx.我发现了这个信息: http://www.badlogicgames.com/wordpress/?p=2652 不幸的是,我的壁纸复制代码,e ...

  5. android动态壁纸的制作

    对于Android 2.1来说Live Wallpapers动态壁纸的加入为Android桌面加入了更好的动态效果.如何开发一个Android动态桌面呢? 下面Android123给大家一个详细的步骤 ...

  6. Android 动态壁纸引擎试刀学习(初识安卓引擎)

    动态壁纸蛮好玩的,也没接触过,看官方有就拿了学习下,是小马第一次接触引擎Engine,激动兴奋...效果做出来了,就放博客里,记录笔记,吼吼,跟大家交流学习, 废话不多说了,先看效果,再看源码,之后小 ...

  7. android水波效果,android动态壁纸中的水波纹效果

    [实例简介] android动态壁纸中的水波纹效果,采用opengl中的shader实现 [实例截图] [核心代码] @Override public String getVertexShader() ...

  8. LibGDX制作android动态壁纸

    一.还是像普通的android动态壁纸一样,创建一个没有activity的安卓工程TestLibGDXWallpaper 二.AndroidManifest.xml配置 <application ...

  9. android动态壁纸是什么格式的,为什么动态壁纸为APK格式? -

    动态壁纸需要安装,并且apk格式是Android的一种特殊应用程序格式. 动态壁纸相当于一个应用程序,当然,apk ps: 不要说您被用作计算机桌面和屏幕保护程序. . . 您使用的是akp格式,当然 ...

最新文章

  1. ubuntu clion 创建桌面快捷方式
  2. python怎么读_如何用Python读写文件
  3. 用计算机打印相片怎么调色,2018年底照片如何使用LOG模式进行调色
  4. Asp.Net 设计模式 之 “简单工厂”模式
  5. 【读书笔记】--- 《码出高效:java开发手册》
  6. 02-mysql数据库的特点-卸载-安装-配置-mysql5.5版本
  7. 1-VScode格式化ESlint-方法(最全最好用方法!)
  8. Raid3.0数据丢失怎么办
  9. Xamarin 打包生成 Android apk 文件
  10. 西方新冠疫苗有效率的数据
  11. ubuntu中eclipse无法识别android手机问题
  12. B站ACM算法资源汇总
  13. Windows界面编程第十二篇 位图显示特效 飞入效果与伸展效果
  14. Eclipse官方汉化Zip包下载地址及安装方式
  15. 计算机考研408每日一题 day158
  16. HCTF 2017 bin Level1 Evr_Q Writeup
  17. 微信公众号+获取文章内容【只是记录自己的学习过程】
  18. 马云雕像事件谁在背后操刀?
  19. #资讯 #科普 #闰秒 这一秒,困扰了程序员 50 年
  20. 一文带你全面体验八种状态管理库

热门文章

  1. 网页中常见的问题总结
  2. 各大巨头纷纷出手 数据中心市场硝烟弥漫
  3. [微信小程序专题] 文本框和页面分割线
  4. 阿里云生态峰会实录(下)
  5. Python 读写文件时报错 ValueError: must have exactly one of create/read/write/append mode
  6. 【逆向】【Android微信】加密数据库踩坑
  7. 百度webgis-api-mapv可视化开源库
  8. 如何解决电脑太卡的问题
  9. python判断性别的源代码_Python 获取微信好友地区、性别、签名信息并将结果可视化...
  10. 易语言自定义窗口过程