大家使用Flex的Menu的组件时有没有发现,当有二级菜单时,二级菜单中带有分割线,这个分割线的样式是不受variableRowHeight参数的控制,这样就导致两级菜单的分割线样式不一,这时我们需要定制MenuItemRenderer 来控制了.
自定义menu.itemRenderer = new ClassFactory(CustomMenuItemRenderer);可以解决问题:
package { import mx.controls.Menu; import mx.controls.menuClasses.MenuItemRenderer; public class CustomMenuItemRenderer extends MenuItemRenderer { public function CustomMenuItemRenderer() { } override protected function measure():void { super.measure(); (this.owner as Menu).variableRowHeight = true; } } }