我尝试扩展TabNavigator并覆盖contentY,但是它引用了私有tabBarHeight ,所以为了解决这个问题,我只是将getter内容复制到我的覆盖中并减去不需要的12个像素,但这绝对为零差。
任何人都有任何想法(除了切换到视图堆栈!)?
public class Tabber extends TabNavigator
{
public function Tabber(){
super();
}
override protected function get contentY():Number {
var paddingTop:Number = getStyle("paddingTop");
if (isNaN(paddingTop))
paddingTop = 0;
var tabHeight:Number = getStyle("tabHeight");
if (isNaN(tabHeight))
tabHeight = tabBar.getExplicitOrMeasuredHeight();
var tabBarHeight:Number = tabHeight - borderMetrics.top;
return tabBarHeight + paddingTop - 12;
}
}
答案 0 :(得分:0)
您是否尝试过设置tabHeight
(使用setStyle
方法)?
因为TabNavigator使用它:
private function get tabBarHeight():Number
{
var tabHeight:Number = getStyle("tabHeight");
if (isNaN(tabHeight))
tabHeight = tabBar.getExplicitOrMeasuredHeight();
return tabHeight - borderMetrics.top;
}
或者可能更改verticalGap
样式......