2013-02-26 3 views
0

Я создаю настраиваемый компонент TabNavigator, который будет использоваться в других приложениях. Однако сейчас фон вкладок не изменится (хотя применяются другие изменения стиля).Как изменить цвет фона вкладки TabBar в пользовательском компоненте TabNavigator

в моем CustomTabNavigator классе, у меня есть это переопределение:

override protected function updateDisplayList (w:Number, h:Number):void { 
    super.updateDisplaylist(w,h); 

    tabBar.styleName="CustomTabBarStyle"; 
} 

А вот CSS в <style> декларации:

.CustomTabBarStyle { 
    tabHeight:100; 
    tabWidth:100; 
    tabStyleName: "CustomTab"; 
    backgroundColor: #FFFFFF; 
} 

.CustomTab { 
    backgroundColor: #FFFFFF; 
    color: haloBlue; 
} 

Цвет haloBlue текста применяется, а также tabHeight и tabWidth. Однако цвет фона не изменяется. Я прошел через около 5 обучающих программ, которые пробовали разные вещи, но безрезультатно ... есть ли способ сделать это в рамках настраиваемого компонента? Все, что я пытаюсь сделать, это избавиться от фона градиента вместо плоского белого фона.

+0

Попробуйте использовать .CustomTab { chromeColor: #FFFFFF; цвет: haloBlue; } –

+0

@IlyaZ, который сделал фон выбранной вкладки чисто белым, так что прогресс :) Знаете ли вы, почему он не будет применяться к другим вкладкам? –

+0

Какую гибкую версию вы используете? Попробуйте использовать chromeColor в классе .CustomTabBarStyle. –

ответ

0

Я смог сделать это, расширив классы TabBar и ButtonBarButton. Затем я создал отдельный скин для пользовательского ButtonBarButton, который использовал пользовательский цвет фона, вытащенный из нового поля в пользовательском классе (например, hostComponent.tabBackgroundColor).

Если у кого-то есть лучшее решение, использующее метод CSS, я был бы рад принять это вместо этого (поскольку именно это я и требовал).

Смежные вопросы