Flex 3 - 自定义选项卡导航器
Posted
技术标签:
【中文标题】Flex 3 - 自定义选项卡导航器【英文标题】:Flex 3 - Custom tab navigator 【发布时间】:2011-03-25 06:04:04 【问题描述】:我正在尝试创建一个必须看起来像 this http://www.freeimagehosting.net/uploads/b470d024c4.jpg 的自定义选项卡导航器。
另外,当发生翻转时,箭头的边框必须是蓝色的(就像当前标签中的标签一样)。
为此,我创建了一个自定义组件:一个包含标签的 hbox 和一个内部包含 3 个图像的画布(用于必须根据 currentState 更改的箭头提示)。 然后,我想到了重叠组件以获得蓝色突出显示颜色(例如:箭头按钮 3 在箭头按钮 4 上方。按钮 3 中的箭头尖端的图像将在箭头之外是透明的,这样我们就可以看到以下按钮的颜色为黑色)。
我现在正试图将组件放置在画布内……但我做不到。 在creationComplete事件之后,我分配了标签文本,我正在计算组件的坐标,但它没有考虑标签宽度...... -_-'
有什么想法吗?
谢谢。问候,
BS_C3
【问题讨论】:
【参考方案1】:阅读Flex Component LifeCycle。您应该在 updateDisplayList() 方法中定位和调整子组件的大小;不在 creationComplete 处理程序中。
您应该在 commitProperties 或 createChildren 中分配标签文本,具体取决于您何时知道它是什么。
如果您想分享一些代码,我们也许可以深入研究确切的问题。如果你运行这样的代码:
myLabel.text = 'Blahblahblahblah';
trace(myLabel.width);
我希望宽度没有改变以反映新文本,因为 myLabel 还没有完成它自己的组件生命周期步骤。
【讨论】:
非常感谢您的回答!! =D 我重写了 updateDisplayList 方法,效果很好^__^以上是关于Flex 3 - 自定义选项卡导航器的主要内容,如果未能解决你的问题,请参考以下文章
从 Chrome 自定义选项卡重定向到 Android 应用程序时“导航被阻止”