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 - 自定义选项卡导航器的主要内容,如果未能解决你的问题,请参考以下文章

实现自定义底部选项卡导航器颤振

在 React native 中创建自定义底部选项卡导航器

具有自定义内容的 Vaadin 选项卡

从 Chrome 自定义选项卡重定向到 Android 应用程序时“导航被阻止”

从 Chrome 自定义选项卡重定向到 Android 应用程序时“导航被阻止”

具有自定义视图的自定义更多选项卡