контролировать размер и форматы ярлыков приложения tizen с помощью html-тегов при использовании специальных модификаций C - PullRequest
0 голосов
/ 19 марта 2019

Я хочу, чтобы мои шрифты-метки имели определенный размер и использовали обмен словами на языке Си. Как ниже:

/* 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-теги не работают в этом формате. Я не знаю другого способа заставить это работать, поскольку учебники слишком скудны для этого.

Как мне изменить размер этого ярлыка?

1 Ответ

1 голос
/ 17 мая 2019

Это простая проблема с обработкой строк.

Для построения строки с использованием подстановки можно использовать 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) равно последнему элементу.

...