在Flex中使用未对接的ApplicationControlBar而不是普通的HBox有什么好处?

时间:2009-01-30 16:18:34

标签: flex coding-style

我看到Flex3有一个名为ApplicationControlBar的类,专门用于“保存提供全局导航和应用程序命令的组件”。 (引自langref)。问题是:使用这个类是否有优势,而不仅仅是添加一个带有灰色背景的普通HBox,或者它只是一个品味问题?

在我目前的代码中,我使用以下框:

<mx:HBox verticalAlign="middle" horizontalGap="5" backgroundColor="0xCCCCCC"
         width="100%" paddingTop="5" paddingRight="5" paddingBottom="5"
         paddingLeft="5">

当然,这需要明确指定一些属性,但除此之外?

3 个答案:

答案 0 :(得分:1)

ApplicationControlBar本质上是一个HBox,其滚动策略都设置为false,透明背景。它提供的唯一其他功能是能够停靠。来自Livedocs:

停靠模式:栏始终位于应用程序绘图区域的顶部,并成为应用程序镶边的一部分。任何应用程序级别的滚动条都不适用于该组件,因此它始终保持在可见区域的顶部,并且该栏会扩展以填充应用程序的宽度。要创建停靠栏,请将dock属性的值设置为true。

如果您查看ApplicationControlBar和Application.dockControlBar的源代码,您会看到当docked = true时,该栏被添加到rawChildren而不是子项,这使得它可以“忽略”scollbars等。

答案 1 :(得分:1)

除了我之前的回答,我可以补充说,如果你没有使用特殊的边框类型,当然可以将渐变背景设置为ApplicationControlBar,而不允许使用HBox;)

答案 2 :(得分:0)

但即使使用HBox,您仍然可以在不设置边框样式的情况下绘制自己的渐变背景。