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

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

[复制链接]
攻城狮Melo 发布时间:2024-2-20 09:01
实战经验 | TouchGFX 处理按钮长按的一种方法
目录预览+ h! C$ u1 \) X! H8 x3 ^
1、前言
: k5 l' O, \" ~4 m. ^' g( X/ z2、操作方法
4 r1 I3 e) ~) d5 Z2 ?3、总结
01前言/ q/ `, x  J' M* O! L8 i  s4 _
7 G. v& M* p+ v% @) f8 {& N$ s
- Z9 y( ], I1 W: ^7 j6 R2 D# ^
在使用 TouchGFX 设计 UI 界面时,用同一按钮的长按和短按表示不同的功能是个比较常见的实际需求。普通的 Button 控件可以通过 Interactions 处理一些基本的交互动作,通过下面一些简单的操作,我们可以将这个普通的 Button 改造成可以根据不同的按键时间处理不同事务的多功能按钮。
" z9 l7 k% q  s8 @8 j" Q0 r: Q1 G$ Q2 m2 n% O# b/ N6 a/ w% ~
02操作方法
  N! h$ t4 U) ^$ ^: X% c, Q2 c* r! K8 r, l# \
7 f6 J  ^+ x5 N9 L8 `
(1)创建一个按钮,并在 Mixins 中勾选 ClickListener 功能,使 Button 能够响应触控输入。
1 ]0 ^7 I: P8 u# k* u: T$ e& U
11.png
图1.Enable ClickListener

1 c3 a% o4 ^( S  @+ i* e启用 ClickListener Mixin 后,会更改生成的控件的声明,下面的代码表示 button1 启用了 ClickListener Mixin。7 \4 k( P/ s2 D
12.png
(2)用户代码中实现回调
& j6 [+ x* L5 j6 J: I! V% v. R' c
0 D; Q, G% L9 X8 W0 r* l: r% v. U5 C/ s
/ z; s3 ?2 `$ G' m4 u. U  l- X
在 TouchGFX Designer 中对 Button 控件启用 ClickListener Mixin 后,下一步是在这个 Button 所在的 Screen 的头文件中添加控件的 Click 的回调和其回调处理函数的声明。
; Z/ l6 a' F. c2 V* S2 J& X+ d
0 A7 ~7 i' E5 E

# A9 R6 |$ A7 q% O回调函数的声明应包含以下三点内容:要绑定的类名,此例中为 Screen1View;回调来自哪个Widget,此处为 Button;以及发生事件的类型 ClickEvent。: A9 m% ^& v, O6 H3 B9 I
13.png
然后,将回调函数的声明和回调函数的处理函数绑定到视图对象。- Z& ?8 b6 Z( {" e
14.png
下一步是通过 setClickAction()的方法告诉 Button1 这个 Widget,当它被按下时,去调用哪个回调函数。) S* }* s# u! B$ H3 n. M
15.png
最后,实现回调函数的处理函数,同时可以根据需要自行增加按钮按下和释放时的处理。
! |+ h- o$ N2 g* Z9 o, d7 G8 ~- a
16.png

" A$ M' C' ~. H3 I4 N! }! z: a(3)添加 handleTickEvent()声明和定义,用于处理计时相关逻辑,此函数以 60Hz 的频率被TouchGFX 引擎调用。* B2 Z  D( [7 ~% d0 g$ `4 \4 ], }
17.png
(4)根据实际应用需求实现长按键的处理
, }7 u7 X& B# U" k" ^* r
5 k7 e; S0 Q1 ~3 f
4 G. P* ^- B" B$ s
在我们的测试例程中,实现了三秒长按键后,切换 Text 文本显示的功能,如下。
+ @0 q1 |4 u. K/ i
18.png
图2.长按前效果
19.png
图3.长按 3S 后效果
! v- y& N# V3 f: w: Z4 V: ?
03总结8 L) h6 C. }$ i/ l3 m4 z

% @4 F) m2 g5 F) v4 S  R2 s2 P本文解释了如何通过 ClickListener 实现对按钮控件自定义功能,实际应用中大多数的Widgets 以及 View 本身都可以通过 ClickListener 实现点击和释放时的自定义处理。
3 x/ r8 p1 `: u$ m) i( ]! J! v4 i; E- ]& {
赞 收藏 评论1 发布时间:2024-2-20 09:01

举报

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

学习啦~~~

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版