我想让我的标签字体具有特定的大小并使用 C 语言特定的单词交换。如下所示:
/* Label*/
wid->label = elm_label_add(wid->conform);
evas_object_resize(wid->label, 200, 100);
evas_object_move(wid->label, (w / 4)+115, (h / 2 )+100);
evas_object_color_set(wid->label, 50, 255, 150, 255);
evas_object_show(wid->label);
elm_object_text_set(wid->label, ("<font_size=30 >%s</font_size>","TestString"));
在最后一行,我希望将“%s”替换为“TestString”,但无法控制其大小,因为它不会更改其默认大小,或者 html 标签无法执行此格式。我不知道还有什么其他方法可以让它工作,因为教程太稀缺了。
如何更改此标签的大小?
最佳答案
这是一个简单的字符串操作问题。
要使用替换构建字符串,可以使用 snprintf:
char buf[100];
snprintf(buf, 100, "<font_size=30>%s</font_size>", "TestString");
object_text_set(wid->label, buf);
您在所提供的代码中尝试执行的操作将不会按您的预期工作。表达式("<font_size=30 >%s</font_size>","TestString")
始终评估为 "TestString"
, 由于括号中使用了逗号运算符。表达式 (a, b, c, ..., z)
的值等于最后一个元素。
关于使用 C 特定修改时使用 html 标签控制 tizen 应用程序标签大小和格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55242546/