我希望能够将非样式属性应用于 TextField 中的文本部分。例如,字符 30-45 将被设置为在某个方向上动画。
由于此字段是可编辑的字符,如果以任何方式编辑文本,30-45 可能不再是 30-45。
谁能想到一种优雅的方式来跟踪哪些角色应用了属性?
我希望能够将非样式属性应用于 TextField 中的文本部分。例如,字符 30-45 将被设置为在某个方向上动画。
由于此字段是可编辑的字符,如果以任何方式编辑文本,30-45 可能不再是 30-45。
谁能想到一种优雅的方式来跟踪哪些角色应用了属性?
我有一个类似的项目,最终扩展了 TextField 类以满足我的需要。以下是要做什么的简短描述-恐怕我的实际代码是机密的:
text
器htmlText
将这些 setter 中的任何内容解析为自定义对象数组。这些对象中的每一个都包含原始文本块和适用于它们的元数据(格式、注释等)。
例如,
<span class="sometext" animation="true">Info</span>
将被翻译成这样的对象:
{ text:"Info", clazz="sometext", animation:true };
appendText
然后通过使用逐块添加原始文本并setTextFormat
在每个附加步骤之后应用格式(或执行其他任何必要的操作)来呈现实际的文本输出。super.text
.)selectionBeginIndex
and处理用户输入selectionEndIndex
(计算对象数组的原始文本中的字符数以找出受影响的块)。直接在容器对象中添加或替换新文本,然后使用步骤 3. 刷新 TextField 中的整个文本。text
并返回新格式化的信息。htmlText
我曾经htmlText
返回一个完全修饰的 xml 字符串并保留text
用于访问原始文本内容,就像在通用 TextField 中一样。