2009-11-20 101 views
1

有没有一种方法可以使用自定义项目符号在Flash中创建项目符号列表?如果是这样,可以在设置htmlText时从Flex的TextArea(mx.controls.TextArea)中使用它吗?Flash中的自定义项目符号

例如:

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

列表设置成使用的htmlText一个TextArea时(相对于只设置文本属性)以上将呈现细。呈现的文本将具有标准的香草子弹。有没有办法使用自定义图像来设计这些项目符号,就像您可以在标准的HTML/CSS中一样?

谢谢!

回答

2

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

TextField documentation

你会发现,这使得使用flash.text.StyleSheet。如果你看看那些文档:

StyleSheet documentation

你会看到它不支持自定义子弹。

你真的只剩下几个选择。您可以尝试手动将项目符号与图像叠加(例如,使用Image类),或者使用备用Flex组件来渲染列表。

2

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

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

+0

我相当肯定你是对的另一种方法。似乎真的......愚蠢。 – TTar 2009-11-20 05:19:22

+0

我一直觉得HTML文本只是闪光灯的事后考虑。事情Adobe可能必须像“看起来很酷的人,HTML文本就在哪里!与孩子们在一起时,让我们成为朋友,想要变得更高?“ – greggreg 2009-11-20 05:28:13

+0

在Flex 4中,HTML的渲染和应用样式表的能力都有了很大的提高,在Flex的版本中可能会有更多的运气出来 – 2009-11-20 15:33:35

1

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

  1. 您选择
  2. 的子弹图像和列表项

然后,只需把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> 

这对动态列表尤其适用。