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

2025国庆中秋活动体验报告5 CustomContainer中控件与参数适配

[复制链接]
lugl 发布时间:2025-10-26 10:48

【前言】

在设计初期,我手工绘制了box与TexArea标签来显示健康监测的“舒张压、收缩压、心率”等状态,为了按比例的显示box高度,并让数据动态显示在box的上方,通过计算,现在可以动态的实时更新了。本篇将详细的介绍如何实现匹配的。

【box高度匹配】

1、通过在TouchGFX Desiger中查看,box的最高高度值为70显示最合理。因此,所有的box的高度最大值为70,进行了宏定义为70的高度。

2、同时根据各个值的最高限度,也将其做了最高限植的定义,最后定义如下:

image.png

3、box的高度计算。

用草稿纸画了一下示意图,并列出了计算公式:image.png

因此以心率为例编写代码如下:

void CustomContainerMKS::setvalHEARTText(int16_t val)
{
    int16_t thisHeight = boxHEART.getHeight();
    int16_t thisy = boxHEART.getY();
    int16_t height = (val*MAXHEIGHT)/MAXHEART;
    thisy = thisy + (thisHeight-height);
    boxHEART.setY(thisy);
    boxHEART.setHeight(height);
    boxHEART.invalidate();
    Unicode::snprintf(valHEARTBuffer, 10, "%d", val);
    valHEART.setY(thisy-18);
    valHEART.invalidate();
}

同时显示数值的TextArea 将他的Y坐标设置为Box的Y坐标向上偏移18,就可以完美的适配了。

最后设置初始值效果如下:

界面设计1.jpg

【设置心得】

通过学习TouchGFX的API函数,就可以了解它们控制的详细用法。从而可以完美的实现GUI的动态设置。

9b2b3144f0fc8a36ecfcee61ee607c06.jpg
收藏 评论4 发布时间:2025-10-26 10:48

举报

4个回答
h12121 回答时间:前天 10:12

楼主真细啊,要是界面做的跟官方Demo那么漂亮丝滑就更好了

lugl 回答时间:前天 11:46

h12121 发表于 2025-10-28 10:12
楼主真细啊,要是界面做的跟官方Demo那么漂亮丝滑就更好了

那个要美工来设计图片,我目前没有这样的资源呀。

h12121 回答时间:前天 13:51

lugl 发表于 2025-10-28 11:46
那个要美工来设计图片,我目前没有这样的资源呀。

现在制图网站蛮多的,模块选选就有

lugl 回答时间:昨天 08:10

h12121 发表于 2025-10-28 13:51
现在制图网站蛮多的,模块选选就有

大佬你出个教程呗

所属标签

相似分享

官网相关资源

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