In einem Tab-Navigator sollen die Styles, vor allem die Farben erst später gesetzt werden. Zunächst muss man die Stile für den TabNavigator fest definieren:
TabNavigator {
backgroundColor: #8b8b8b;
borderStyle: none;
color: #ffffff;
dropShadowEnabled: false;
tabStyleName: "myTabs";
firstTabStyleName: "myTabs";
lastTabStyleName: "myTabs";
selectedTabTextStyleName: "mySelectedTabs";
}
.myTabs {
cornerRadius: 0;
highlightAlphas: 0, 0;
fillAlphas: 1, 1;
fillColors: #ffffff, #ffffff;
borderColor: #8b8b8b;
color: #8b8b8b;
}
.mySelectedTabs {
color: #ffffff;
textRollOverColor: #ff9900;
}
Das macht man in einem Style-Abschnitt in der MXML-Datei. Dann kann man in einer Funktion auf die bestehenden Stile zugreifen und deren Attribute ändern.
// den TabNavigator CSS Style holen
var tabNavigatorStyle:CSSStyleDeclaration = StyleManager.getStyleDeclaration("TabNavigator");
// Hintergrundfarbe neu setzen (z.B. auf grün)
tabNavigatorStyle.setStyle("backgroundColor", 0x00FF00);
// den .myTabs CSS Style holen
var tabStyle:Object = StyleManager.getStyleDeclaration(".myTabs");
// z.B.cornerRadius setzen
tabStyle.setStyle("cornerRadius", 10);
Vielen Dank an Bort, den Flexperten auf dem Flex Forum.
Neueste Kommentare