我想将文本对齐到elm_label
小部件的中心。我找不到任何关于文本对齐作为 evas 对象文本函数或elm_label
函数的函数。另外,我找不到可以在标签上获取文本大小(绝对像素或相对大小)的函数。
我试过elm_object_style_set
了marker
,它在标签中心显示粗体文本,但字体太小(小于默认样式)。(而且我不想在文本上加粗。)
如何将文本与标签的中心对齐?
您可以使用 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
来自定义您的显示文本。所有可能的标签列表可以在这里找到
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右对齐。