Как выровнять текст на виджете дополнительной метки?
Я хочу выровнять текст по центру elm_label
виджет. Я не могу найти какие-либо функции для выравнивания текста, так как функция текста объекта evas elm_label
функция. Кроме того, я не могу найти функцию, которая может получить размер текста (абсолютный пиксель или относительный размер) на этикетке.
я пытался elm_object_style_set
с marker
, он был показан жирным текстом в центре метки, но размер шрифта был слишком мал (меньше, чем стиль по умолчанию). (и я не хочу выделять жирным шрифтом текст.)
Как я могу выровнять текст по центру метки?
2 ответа
Вы можете использовать HTML-разметку, чтобы настроить отображение текста в elm_label.
Чтобы выровнять текст по центру, вы можете использовать <align>
тег разметки со значением center
,
std::string text = "<align = center> TEXT TO DISPLAY </align>";
Evas_Object *label = elm_label_add(parent);
elm_object_text_set(label,text.c_str());
evas_object_show(label);
Вы также можете использовать другие теги, такие как font_weight
, font_style
настроить отображаемый текст. Список всех возможных тегов можно найти здесь
Вы можете установить выравнивание метки через evas_object
API. Скорее всего, вы ищете это:
evas_object_size_hint_align_set(label, 0.5, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
0.5 - центр, вы можете попробовать 0.0 для выравнивания по левому краю и 1.0 для правого.