【问题标题】:How to insert a LinkElement into a paragraph in Flex mobile project?如何在 Flex 移动项目的段落中插入 LinkElement?
【发布时间】:2012-07-27 16:01:22
【问题描述】:

大家好。
我正在开发一个关于 Flex 的移动项目。
一旦我从互联网上得到一个段落,我需要从该段落中识别一个特定的字符串(可能不会只出现一次),并使其可点击以触发 flex 项目中的其他功能。

我知道“LinkElement”有帮助,比如这个 url 的内容: http://bbs.9ria.com/forum.php?mod=viewthread&tid=42640 其中的代码是这样的

var p:ParagraphElement=new ParagraphElement();
var tf:TextFlow=new TextFlow();
var nameLink:LinkElement=new LinkElement();
var nameSpan:SpanElement=new SpanElement();

nameSpan.text="LINK_TEXT";
nameLink.addChild(nameSpan);
p.addChild(nameLink);
//////////////////////////////////////////////////////
tf.addChild(p);
rt.textFlow=tf;
nameLink.addEventListener(FlowElementMouseEvent.CLICK, link_click_handler);

<s:RichEditableText editable="false" selectable="false" id="rt/>

但是只有一个简单的链接文本,但我希望在同一行中有其他普通文本(没有链接)。
我想要的效果可以通过html这样的方式轻松实现:

<p>
  unlinked_text1
  <a>linked_text</a>
  unlinked_text2
</p>

我尝试在“//////////////”的位置添加另一个未链接的孩子
但它没有用。
有什么解决办法吗?
这似乎并不难,但我就是做不到。

提前感谢您的任何解决方案,请帮助我!

【问题讨论】:

    标签: apache-flex air adobe flash-builder


    【解决方案1】:

    ParagraphElement 对象可以具有以下类型的子对象:SpanElementLinkElementInlineGraphicElementTCYElement

    那么为什么不在包含正常(非链接)文本的段落中添加额外的SpanElements

    var regularText:SpanElement = new SpanElement();
    regularText.text = "this is some regular text";
    paragraphElement.addChild(regularText);
    

    如果您已经尝试过,请显示您的代码,以便我们进一步帮助您。

    【讨论】:

    • 感谢您的回答 =D 原来我失败了,因为当我尝试 addChild(_SpanElement) 时,我添加了与我添加到 LinkElement 的那个相同的孩子。愚蠢的我。但是,再次感谢您的快速回复!
    猜你喜欢
    • 1970-01-01
    • 2021-09-11
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多