本示例程序 Screen Saver 通过避免同一个静止图片或画面在屏幕上久滞不动,达到保护屏幕的效果。
程序有两个重点:
1 . 控制与判断用户静止未触碰键盘或屏幕的时间及其事件
2. 设计动态全屏幕淡入 (Fade In) 与淡出 (Fade Out) 图片的交替效果
程序运行原理: 当键盘或屏幕两次被触击的事件间隔 (timePeriod) 超过了 5s时,就自动调用屏幕保护程序
这里声明 4个Runnable, 其作用分别如下:
1. mTask01: 每 秒 检查1次 时间间隔, 监视静止是否超过5s, 如果超过,将标记bIfRunScreenSaver 更改为 true, 启动mTask02,
2. mTask02: 每 秒 检查1次 时间间隔, 隐藏原有布局上的组件,调用 showScreenSaver() 加载图片,轮流加载5张图片,
3. mTask03: 淡出效果时使用, 每0.1s 运行一个scale
4. mTask04: 淡入效果时使用, 每0.1s 运行一个scale
应用开始时,先要输入 屏保密码, 输入后当用户超过 5s未操作时,进入屏保,屏幕变暗,此时有任何操作时,弹出对话框提示要求输入确认密码,
如果与 刚开始输入相同,则切换到屏保前的界面,否则一直显示屏保状态.
示意图如下:
具体用法请参见 EX07_03 工程