在Flex 4中,是否允许在Spark MXML项目渲染器中使用状态?
我之所以这么问,是因为已经有像这样的"内置"状态了
<s:states>
<s:State name="normal"/>
<s:State name="hovered"/>
</s:states>
我可以添加自己的自定义状态吗,比如"ingame"one_answers"inlobby"?
即使MXML项目渲染器中的AS3代码不使用/不需要它们,我是否应该写出"正常"one_answers"悬停"?
在Flex 4中,是否允许在Spark MXML项目渲染器中使用状态?
是的!渲染器和其他任何组件一样,只是一个组件;如果你愿意,你可以添加状态。
我不确定Flex List是如何处理渲染器状态的设置的。因此,渲染器中的状态可能会从"自定义"状态更改为Flex状态之一。您可能必须重写currentState变量才能防止这种更改。
即使MXML项目渲染器中的AS3代码不使用/不需要它们,我是否应该写出"正常"one_answers"悬停"?
不,如果你不需要,就不要添加它们。当鼠标交互(如悬停)发生时,ItemRenderer
最终将调用其getCurrentRendererState()
方法来决定在渲染器上设置什么状态。在这种方法中,有很多这样的语句:
if (hovered && hasState("hovered"))
return "hovered";
如果没有匹配项,则会保持渲染器的状态不变。