你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

实战经验 | TouchGFX 处理按钮长按的一种方法

[复制链接]
攻城狮Melo 发布时间:2024-2-20 09:01
实战经验 | TouchGFX 处理按钮长按的一种方法
目录预览
1、前言
2、操作方法
3、总结
01前言


在使用 TouchGFX 设计 UI 界面时,用同一按钮的长按和短按表示不同的功能是个比较常见的实际需求。普通的 Button 控件可以通过 Interactions 处理一些基本的交互动作,通过下面一些简单的操作,我们可以将这个普通的 Button 改造成可以根据不同的按键时间处理不同事务的多功能按钮。

02操作方法


(1)创建一个按钮,并在 Mixins 中勾选 ClickListener 功能,使 Button 能够响应触控输入。
11.png
图1.Enable ClickListener

启用 ClickListener Mixin 后,会更改生成的控件的声明,下面的代码表示 button1 启用了 ClickListener Mixin。
12.png
(2)用户代码中实现回调


在 TouchGFX Designer 中对 Button 控件启用 ClickListener Mixin 后,下一步是在这个 Button 所在的 Screen 的头文件中添加控件的 Click 的回调和其回调处理函数的声明。


回调函数的声明应包含以下三点内容:要绑定的类名,此例中为 Screen1View;回调来自哪个Widget,此处为 Button;以及发生事件的类型 ClickEvent。
13.png
然后,将回调函数的声明和回调函数的处理函数绑定到视图对象。
14.png
下一步是通过 setClickAction()的方法告诉 Button1 这个 Widget,当它被按下时,去调用哪个回调函数。
15.png
最后,实现回调函数的处理函数,同时可以根据需要自行增加按钮按下和释放时的处理。
16.png

(3)添加 handleTickEvent()声明和定义,用于处理计时相关逻辑,此函数以 60Hz 的频率被TouchGFX 引擎调用。
17.png
(4)根据实际应用需求实现长按键的处理


在我们的测试例程中,实现了三秒长按键后,切换 Text 文本显示的功能,如下。
18.png
图2.长按前效果
19.png
图3.长按 3S 后效果

03总结

本文解释了如何通过 ClickListener 实现对按钮控件自定义功能,实际应用中大多数的Widgets 以及 View 本身都可以通过 ClickListener 实现点击和释放时的自定义处理。

收藏 评论1 发布时间:2024-2-20 09:01

举报

1个回答
xu@xupt 回答时间:2024-2-25 19:22:51

学习啦~~~

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版