0

我想将文本对齐到elm_label小部件的中心。我找不到任何关于文本对齐作为 evas 对象文本函数或elm_label函数的函数。另外,我找不到可以在标签上获取文本大小(绝对像素或相对大小)的函数。

我试过elm_object_style_setmarker,它在标签中心显示粗体文本,但字体太小(小于默认样式)。(而且我不想在文本上加粗。)

如何将文本与标签的中心对齐?

4

2 回答 2

2

您可以使用 HTML 之类的标记来自定义您希望在 elm_label 中显示文本的方式。

要将文本与中心对齐,您可以使用<align>带有 value 的标记标签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来自定义您的显示文本。所有可能的标签列表可以在这里找到

于 2015-02-01T08:50:04.443 回答
1

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右对齐。

于 2014-10-17T18:34:35.497 回答