Flash中的自定义项目符号

时间:2009-11-20 03:14:06

标签: flex flash actionscript-3

有没有办法在flash中使用自定义项目符号制作项目符号列表?如果是这样,在设置htmlText时,是否可以在Flex(mx.controls.TextArea)中的TextArea中使用它?

例如:

<li>Item</li>
<li>Item</li>

当使用htmlText设置到TextArea时,上面的列表将呈现正常(而不仅仅是设置text属性)。渲染文本将具有标准的香草项目符号。有没有办法用自定义图像设置这些项目符号的样式,就像在标准HTML / CSS中一样?

谢谢!

4 个答案:

答案 0 :(得分:2)

我不想跳枪而只是说不。但我真的不认为你可以。我从来没有能够找到任何甚至谈论它的文档或例子。所以我只能承认不,目前还没有办法。

您可以做的最好的事情就是使用标准的flex组件自己绘制列表。

答案 1 :(得分:2)

我肯定会说你做不到。 TextArea不可避免地引用了一个通用的flash.text.TextField来处理HTML文本的呈现(实际上它调用createInFontContext(UITextField)来创建它的文本渲染器,它的UITextField继承自TextField)。如果查看TextField文档:

TextField documentation

您会注意到这会使用flash.text.StyleSheet进行渲染。如果你看一下这些文档:

StyleSheet documentation

你会发现它不支持自定义项目符号。

你真的没有其他选择。您可以尝试手动覆盖带有图像的项目符号(例如,使用Image类),或使用备用Flex组件来呈现列表。

答案 2 :(得分:1)

是的,使用含有两个项目的HBox:

  1. 您选择的项目符号图片
  2. 和列表项
  3. 然后将HBox放在Repeater组件中。

    <mx:Repeater dataProvider=" [refer to an array with your list] ">
        <mx:HBox>
            <mx:Image source="{ [refer to your image class of choice here] }"/>
            <mx:Label text="{data.text}"/>
        <mx:HBox>
    <mx:Repeater>
    

    这对动态列表特别有用。

答案 3 :(得分:0)

您可以手动输入项目符号并根据自己的喜好设置样式,但随后会丢失缩进。

<font color='#FFE400'>  •   </font> My bulleted item<br>
<font color='#FFE400'>  •   </font> My bulleted item<br>
<font color='#FFE400'>  •   </font> My bulleted item<br>

此网站还有另一种方法

http://blog.formatlos.de/2009/06/18/styling-html-textfield-bullet-points/