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

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 回答时间:2025-10-28 10:12:37

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

lugl 回答时间:2025-10-28 11:46:32

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

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

h12121 回答时间:2025-10-28 13:51:31

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

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

lugl 回答时间:2025-10-29 08:10:30

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

大佬你出个教程呗

所属标签

ST中文论坛活动

即日起开启活动话题入口,之后的活动统一都放在此处,欢迎大家的加入!


最新内容

相似技术帖

官网相关资源

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