天天看点

《精通Android 5 多媒体开发》——第22章,第22.3节开发一个屏保程序

本节书摘来自异步社区《精通android 5 多媒体开发》一书中的第22章,第22.3节开发一个屏保程序,作者 王石磊,更多章节内容可以访问云栖社区“异步社区”公众号查看

22.3 开发一个屏保程序

精通android 5 多媒体开发

了解了在android系统中开发屏保程序的基本原理后,在本节的内容中,将通过一个具体实例的实现流程,来详细讲解开发android屏保程序的基本流程。本实例的源代码保存在“daima22pingbao”中,下面开始讲解本实例的具体实现流程。

22.3.1 准备素材图片

在本实例中,设置屏保程序轮换显示5幅图片,图片的大小是320×480。本实例的素材图片保存在“resdrawable”目录下,效果如图22-1所示。

《精通Android 5 多媒体开发》——第22章,第22.3节开发一个屏保程序

22.3.2 编写布局文件

本实例的布局文件是main.xml,在里面分别插入了一个imageview控件、一个textview和一个edittext,主要代码如下所示。

22.3.3 编写主程序文件

本实例的主程序文件是example.java,其具体实现流程如下所示。

(1)先引入相关class类,然后设置layoutinflater对象作为新建的alertdialog,具体代码如下所示:

至此,整个实例介绍完毕。执行后如果超过5秒不动键盘或屏幕,则会进入屏保状态,如图22-2所示。可以设置屏保密码,当输入正确的密码后才能解除屏保,如图22-3所示。

《精通Android 5 多媒体开发》——第22章,第22.3节开发一个屏保程序

在本实例的实现代码中,声明的4个runnable是整个程序的重点,这4个runnable的具体说明如下所示。

mtasks01:设置每1秒检查一次timeperiod,并监视是否超过5秒未触发。超过5秒则将blrunscreensaver这个flag更改为true,并启动mtasks02。

mtasks02:设置每1秒运行一次屏保程序,并隐藏原有layout上面的widget,并调用screensaver()加载图片,即轮换显示预设的5幅图片。

mtasks03:是fade-out特效使用的runable,每0.1秒运行一个scale。

mtasks04:是fade-in特效使用的runable,每0.1秒运行一个scale。

继续阅读