3. 按钮控件

用途:切换页面、弹出下拉列表、发送数据等,配合脚本可实现各种逻辑应用。

3.1. 属性

按钮属性

基础属性 : 参考控件概念- 基础属性

坐标属性 : 参考控件概念- 坐标属性

背景属性 : 参考控件概念- 背景属性

加载属性 : 参考控件概念- 加载属性

文本属性 : 参考控件概念- 文本属性

过渡属性 :

过渡是指按钮由默认弹起状态到按下的过程(注意:仅背景为颜色时有效)

按钮过渡属性

  • 过渡类型(type):特效类型:0-无 1-放大效果 2-向下移动效果 3-水滴效果 4-收缩效果(只读)

  • 过渡时间(time):特效时间(毫秒),0-65535(只读)

  • 过渡变化值(val):过渡变化的目标值(只读)

特有属性 :

按钮特有属性

  • 圆角(rad):圆角值,范围:0-100(读写)

  • 长按时间(lptime):确定为长按的时间:0-短按 200-65535ms-长按(只读)

当长按时间(lptime)大于等于200,支持长按,支持长按事件,属性如下图:

按钮特有属性长按单次

  • 长按循环(repeat):是否循环执行长按事件:0-单次 1-循环(只读)

当长按循环(repeat)设为循环,支持循环执行长按事件,属性如下图:

按钮特有属性长按循环

  • 长按间隔(rptime):循环执行长按事件的间隔时间:50-65535ms(只读)


3.2. 事件

弹起事件: 控件按下且弹起后执行

按下事件: 控件按下后执行

长按事件: 按钮一直按下,达到设定时间后执行一次。长按循环设为是,则根据间隔循环执行长按事件


3.3. 功能演示

点击下载演示工程

按钮功能演示

小技巧

把工程配置的启动页面(pid)改为当前页面ID可以立即显示此页面。


3.3.1. 长按间隔执行事件

长按间隔

  • 功能:按住“长按间隔”按钮,在模拟器返回数据区可以看到间隔打印信息。

  • 实现原理:

    1. “长按间隔”按钮特有属性,设置如下图:

    长按特有属性

    1. 并在 长按事件 中编写

    prints("press");//间隔打印press
    

3.3.2. 按钮发送数据

发送数据

  • 功能:调用printh指令发送数据,在模拟器返回数据区可查看数据。

    勾选

  • 实现原理:在 弹起事件 中编写

    printh(AA 02 00 FE FE); //发送十六进制指令
    

提示

硬件屏发送数据给单片机,可以调用 printhprints 两个指令。具体参考:串口屏发送


3.3.3. 加载特效

加载特效

  • 功能1:控件加载时,从不同方位飞入。

  • 实现原理:配置按钮的加载属性即可。左边飞入效果配置如下图:

左边飞入属性

  • 功能2:加载后,点击按钮实现移动效果。

  • 实现原理:调用 move指令,如左边飞入按钮的 弹起事件 编写了

    move(b10,-120,297,226,297,600,5); // 从左边移动,加载效果:反弹
    

提示

所有可显示的控件都支持加载特效和move指令。


3.3.4. 过渡特效

过渡特效

  • 功能:按钮按下时的特效。(注意:仅背景类型为颜色时有效)

  • 实现原理:配置按钮的过渡属性即可。放大效果配置如下图:

放大效果

3.3.5. 切换页面

切换页面

  • 功能:切换页面

  • 实现原理:在按钮的 弹起事件 中编写

page(main);