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

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

[复制链接]
攻城狮Melo 发布时间:2024-2-20 09:01
实战经验 | TouchGFX 处理按钮长按的一种方法
目录预览7 W, S* w7 k7 q6 A. z
1、前言5 \1 b7 V/ q0 q! O& E8 p* l
2、操作方法
3 [1 h: u9 [# K3、总结
01前言
5 v8 [: s1 M, t* L9 p+ n8 F+ b3 \3 [: z

$ D  R' K! W3 X7 c在使用 TouchGFX 设计 UI 界面时,用同一按钮的长按和短按表示不同的功能是个比较常见的实际需求。普通的 Button 控件可以通过 Interactions 处理一些基本的交互动作,通过下面一些简单的操作,我们可以将这个普通的 Button 改造成可以根据不同的按键时间处理不同事务的多功能按钮。5 s9 L$ T/ x, |1 {0 ?% T" d
: j3 v2 D! K9 m& f) \% B( ~
02操作方法
  c( B% h. P1 @1 H2 A% U% M7 r7 G, p4 n* D3 S$ @1 V9 S) `
. F! j5 T1 G9 @3 X
(1)创建一个按钮,并在 Mixins 中勾选 ClickListener 功能,使 Button 能够响应触控输入。7 C2 u. f8 e% @. C2 B( G
11.png
图1.Enable ClickListener
) ?) m) E) I  J
启用 ClickListener Mixin 后,会更改生成的控件的声明,下面的代码表示 button1 启用了 ClickListener Mixin。% S# c! ?1 |, I3 @, H* C/ F3 x1 \$ M
12.png
(2)用户代码中实现回调$ u* P- y. Z) Q# P7 C
3 r% o& `# h" _

2 m. ~' S% @" v在 TouchGFX Designer 中对 Button 控件启用 ClickListener Mixin 后,下一步是在这个 Button 所在的 Screen 的头文件中添加控件的 Click 的回调和其回调处理函数的声明。7 c1 `) A; u( W9 n4 X6 s9 ?

6 O( S% k) t- q/ d' w& G

+ e) a3 V1 i& Q; g8 P$ h: ?+ ^8 N) E. a回调函数的声明应包含以下三点内容:要绑定的类名,此例中为 Screen1View;回调来自哪个Widget,此处为 Button;以及发生事件的类型 ClickEvent。- C, x4 H" [' ?3 V; r% |+ k/ I
13.png
然后,将回调函数的声明和回调函数的处理函数绑定到视图对象。" M3 G1 c6 u9 s  |# @5 N2 e- Y8 P3 k
14.png
下一步是通过 setClickAction()的方法告诉 Button1 这个 Widget,当它被按下时,去调用哪个回调函数。
" ~$ a6 M! l9 _, b/ r: `1 X. V
15.png
最后,实现回调函数的处理函数,同时可以根据需要自行增加按钮按下和释放时的处理。, N$ y$ F# s& R! V6 ]& s  F
16.png

; F. q% v# P! c# ]9 c  e- p/ F(3)添加 handleTickEvent()声明和定义,用于处理计时相关逻辑,此函数以 60Hz 的频率被TouchGFX 引擎调用。
2 F7 Z. f1 f$ A3 o
17.png
(4)根据实际应用需求实现长按键的处理* A* F9 l  T  ?7 T5 y

/ J# g6 U# n* P6 p+ h: h( ?( f8 F
% |) g: Q- m) |, t8 u  B
在我们的测试例程中,实现了三秒长按键后,切换 Text 文本显示的功能,如下。/ w- A& d7 i  ], D, O. F
18.png
图2.长按前效果
19.png
图3.长按 3S 后效果

! D. [: P7 d0 @+ a2 G) f( M9 T; _. T. G03总结
, j. \$ d6 x0 I% b: j* r  d% {/ j0 B, s% m3 R
本文解释了如何通过 ClickListener 实现对按钮控件自定义功能,实际应用中大多数的Widgets 以及 View 本身都可以通过 ClickListener 实现点击和释放时的自定义处理。
' E$ E2 ^8 @. d# s( P$ o# U2 P5 z( T$ F' a( O. [- G  T! _1 K
收藏 评论1 发布时间:2024-2-20 09:01

举报

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

学习啦~~~

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版