LVGL标签文本样式与换行:从踩坑到游刃有余调试一块320x240的屏幕时,客户要求显示一段包含中英文混合的说明文字,长度超过屏幕宽度。我习惯性地在lv_label_set_text后加了个lv_obj_set_width,结果文字直接截断,连个省略号都没给。翻遍LVGL文档才发现,标签控件的文本换行和样式控制,远没有想象中那么简单。今天就把这些实战中摸出来的门道,连同踩过的坑,一并记下来。标签文本换行的三种模式LVGL的标签换行由lv_label_set_long_mode控制,别被“long mode”这个名字骗了,它管的就是文本超出宽度时的行为。我常用的有三种:LV_LABEL_LONG_WRAP:自动换行。这是最符合直觉的模式,文本到达边界自动折行。但有个隐藏条件——必须给标签设置固定宽度,否则它默认会无限延伸。曾经犯过傻,只设了高度没设宽度,结果文字一路向右跑出屏幕。LV_LABEL_LONG_DOT:超出部分显示为省略号。适合单行文本,比如列表项标题。注意它只对最后一行生效,多行文本超出时,最后一行末尾会加三个点,但前面的行照常显示。LV_LABEL_LONG_SCROLL:滚动显示。适合单行跑马灯效果,但别用在多行文本上,否则滚动的是整个标签内容,视觉上很诡异。代码示例(带注释版):lv