我正在Tizen手表的输入框上设置文本,但由于文本太大而无法在屏幕上显示,因此我使用<font_size>
属性使用较小的字体。但是在编辑后,当我取回文本时,它也返回这些属性。
我曾考虑过进行字符串操作以删除这些html标签/ elm属性。但是在编辑之后,输入框将在那些elm属性之后添加那些添加的文本。
例如:entry_text_set(entry, "<font_size=15>Hello,This is our text.</font_size>");
将返回相同的文本,包括elm_object_text_get(entry);
的属性。如果这些标签在末尾,则字符串操作很好,因为如果它们位于其他文本之间,则我们将不得不执行更多的字符数学操作。现在,在输入框上添加hello
后,它将返回以下内容:<font_size=15>Hello,This is our text.</font_size>Hello
。
如何获得没有<font_size>
/任何此类属性的文本?
关于“如何获得没有/任何此类属性的文本?”的问题。
您可以使用elm_entry_markup_to_utf8(const char *s)
。该API将从您的字符串中删除所有标记标签。但是,您需要记住,在插入elm_entry之前,应将utf8文本转换回标记文本。 (您可以使用elm_entry_utf8_to_markup
)。
我希望我的回答会有所帮助。