做英语题目的网站,个人企业信息查询,免费发广告帖子的网站,怎么计算网站开发费用现代屏幕其实并不需要屏幕保护#xff0c;不过屏幕保护程序会衍生一些其它用途。比如#xff1a;
保护隐私。长时间不操作#xff0c;通过动画或者其它方式隐藏屏幕内容。数据安全。长时间不操作#xff0c;需要输入密码才能恢复。美观/广告。长时间不操作#xff0c;显示…现代屏幕其实并不需要屏幕保护不过屏幕保护程序会衍生一些其它用途。比如
保护隐私。长时间不操作通过动画或者其它方式隐藏屏幕内容。数据安全。长时间不操作需要输入密码才能恢复。美观/广告。长时间不操作显示动画或者播放视频广告。
本文介绍一下在 AWTK 串口屏中是如何实现屏幕保护的。基本工作原理是这样的
长时间没有用户输入事件触发屏幕保护事件。在屏幕保护事件中打开名为 screen_saver 的窗口。screen_saver 窗口中显示屏保内容如果收到输入事件关闭该窗口(或要求输入密码)。
1. 功能
在这里例子中模型也就是数据里只有一个 screen_saver_time 变量
变量名数据类型功能说明screen_saver_time整数单位为毫秒 screen_saver_time 是 默认模型 中一个内置属性。 2. 创建项目
从模板创建项目将 hmi/template_app 拷贝 hmi/screen_saver 即可。 第一个项目最好不要放到其它目录因为放到其它目录需要修改配置文件中的路径等熟悉之后再考虑放到其它目录。路径中也不要中文和空格避免不必要的麻烦。 3. 制作界面
3.1 主窗口
用 AWStudio 打开上面 screen_saver 目录下的 project.json 文件。里面有一个空的窗口在上面加入下面的控件
静态文本编辑器
做出类似下面的界面。 3.2 屏保窗口
在这个窗口中我们通过一个定时器来改变窗口的背景颜色创建一个空白窗口将其改名为 screen_saver 即可。
4. 添加绑定规则
4.1 主窗口
将 编辑器 绑定到 screen_saver_time 变量。添加自定义的属性 v-data:value将值设置为 {screen_saver_time}。
绑定属性绑定规则说明v-data:value{screen_saver_time}变量要用英文大括号括起来。
同样指定窗口的模型为 default。
绑定属性绑定规则说明v-modeldefaultdefault 不需要用大括号括起来。
4.2 屏保窗口
在 启动 按钮的 点击 事件启动定时器。
绑定属性绑定规则说明v-on:window_open{fscript, Argsstart_timer(3000);set计数0)}启动定时器v-on:timer{fscript, Argsset计数计数1)}增加计数v-data:style:normal:bg_color{one_of(‘red;blue;green;gold;orange;white;black’, 计数%7)}根据计数改变背景颜色v-on:pointer_move{nothing, CloseWindowtrue}关闭窗口v-on:pointer_up{nothing, CloseWindowtrue}关闭窗口v-on:key_up{nothing, CloseWindowtrue}关闭窗口 这里只是用了一个窗口内局部的变量“计数”不需要指定模型系统会自动创建一个 dummy 模型。 4. 初始化数据
修改资源文件 design/default/data/default_model.json, 将其内容改为
{screen_saver_time: 180000
}注意 如果文件内容有中文非 ASCII 字符一定要保存为 UTF-8 格式。 重新打包资源才能生效。
5. 数据持久化
为了保存屏保时间修改资源文件 design/default/data/settings.json, 将其内容改为
{name:hmi_screen_saver,persistent : {screen_saver_time: true}
}6. 编译运行
运行 bin 目录下的 demo 程序设置屏幕时间为一个较短的值等待屏保启动。 7. 注意 本项目并没有编写界面相关的代码AWStudio 在 src/pages 目录下生成了一些代码框架这些代码并没有用到可以删除也可以不用管它但是不能加入编译。 完整示例请参考demo_screen_saver