我正在尝试创建一个必须看起来像this http://www.freeimagehosting.net/uploads/b470d024c4.jpg的自定义标签导航器。
此外,当存在翻转时,箭头的边框必须为蓝色(如当前标签中的标签)。
为此,我创建了一个自定义组件:一个包含标签的hbox和一个内部有3个图像的画布(对于必须根据currentState更改的箭头提示)。 然后,我想重叠组件以获得蓝色突出显示颜色(例如:箭头按钮3在箭头按钮4上方。按钮3中箭头尖端的图像在箭头外部是透明的,这样我们就可以看到以下按钮的黑色)。
我现在正试图将组件放在画布内......但我不能。 在creationComplete事件之后,我分配标签文本,我正在计算组件的协调,但它没有考虑标签宽度...... -_-'
有什么想法吗?
感谢。的问候,
BS_C3
答案 0 :(得分:1)
阅读Flex Component LifeCycle。您应该在updateDisplayList()方法中定位和调整子组件的大小;不在creationComplete处理程序中。
您应该在commitProperties或createChildren中分配标签文本,具体取决于您何时知道它是什么。
如果您想分享一些代码,我们可能会磨练确切的问题。如果你运行这样的代码:
myLabel.text = 'Blahblahblahblah';
trace(myLabel.width);
我希望宽度没有改变以反映新文本,因为myLabel还没有完成它自己的组件生命周期步骤。