大家好,欢迎来到IT知识分享网。
- Android系统提供了一个桌面—也就是用户启动后第一次看到的页面,如下图.从图中可以看出,桌面的作用类似于PC的桌面,桌面上放置一些常用的程序和功能.
- 在Android桌面上首先看到的是壁纸,也就是桌面上的那张图片,接着可以看到桌面上规则排列的多个图标,这些图标就是Android桌面控件,分别代表快捷方式与桌面控件;每个快捷方式占用桌面的一个摆放位置;桌面控件可以很大,一个桌面控件可以占据多个摆放位置
- Android系统提供了很好的扩展性,下面我将在改变系统壁纸,管理快捷方式,创建桌面控件三部分为大家介绍
- Android允许我们使用
WallpaperManager
来改变壁纸,在该对象中改变壁纸的方法如下:
其中setBitmap(Bitmap bitmap):将壁纸设置为bitmap所代表的的位图;
setReousrce(int resid):将壁纸设置为redis资源所代表的图片
setStream(Input data):将壁纸设置为data数据所代表的的图片
- 这种改变壁纸的方式
实际上是动态地设置不同的图片作为壁纸
,比较简单
- 所谓动态壁纸,就是指Android桌面不再是简单的图片,而是运行中的动画,这个动画是由程序实时绘制的,因此被称为动态壁纸
- 为了帮助我们开发动态壁纸,Android提供了
WallpaperService基类
,动态壁纸的实现类继承该基类.在Android应用中开发动态壁纸的步骤如下:
1)开发一个子类继承WallpaperService基类
2)继承WallpaperService基类时必须重写onCreateEngine()方法,该方法返回WallpaperService.Engine子类对象
3)我们还需要实现WallpaperService.Engine子类,并重写其中的onVisibilityChanged(boolean visible),onOffsetsChanged()方法
- 下面展示一下在代码中重写的两个重要方法
这两个方法就是重写的WallpaperService.Engine的onVisibilityChanged(),onOffsetsChanged()方法,并且指出了桌面显示时需要调用drawFrame()方法进行绘制,drawFrame方法绘制完成之后通过Handler对象指定0.1秒后重回
- 关于动画效果在代码中的实现
通过循环创建多个矩形,然后每次进行绘制的时候让count++,;并且程序中针对图形进行了位移和旋转变换,这样就能够保证达到一个动画效果
- 写完核心代码之后,需要在AndroidManifest.xml问配置该Serviced.这里需要注意的是,`配置动态壁纸Service与配置普通service有一点区别,需要指定如下两项
- 指定运行动态壁纸,需要开启权限
- 同时还要为动态壁纸设置meta-data配置
- 在上面AndroidManifest.xml中指定了将动态壁纸的meta-data放在了@xml/livewallpaper中定义,因此程序还需要在res/xml目录下增加一个livewallpaper.xml文件
- 进行如上的配置之后,我们可以通过运行模拟器看到初步的效果,能够简单实现一个动态效果,这也说明这种动态壁纸可以为我们提供在Android桌面上绘图的能力.
- 最新的Android允许为应用添加快捷方式:当用户长按图标时,系统会显示该应用的某几个功能的快速链接,用户可以通过快捷方式迅速打开应用的某个功能
- 添加快捷方式的方式
- 静态方式:只需要通过AndroidManifest.xml文件配置即可添加快捷方式
- 动态方式:通过ShortcutManager可以为应用动态添加,删除,更新快捷方式
静态添加的主要操作
:
1)在主Activity中添加name为android.app.shortcuts的<meta-data…/>元素,该元素指定静态快捷方式的配置文件
2)为静态快捷方式添加配置文件
- 下面是AndroidManifest.xml文件的配置部分
- 下面是在res/xml目录下配置的文件
- 编译运行应用时,在下图中任意图标长按即可显示静态快捷的标识,表示可以生成快捷键
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!](https://bbs.csdn.net/topics/)
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/151215.html