2013-07-15 7 views
0

Я хочу поменять синий цвет табуляции по умолчанию на красный.Изменение стиля табуляции android

<style name="AppTheme" parent="android:Theme.Light.NoTitleBar"> 
      <item name="android:tabWidgetStyle">@drawable/tab_indicator_holo</item> 
      </style> 

tab_indicator_holo.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <!-- Non focused states --> 
    <item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_unselected_holo" /> 
    <item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_selected_holo" /> 

    <!-- Focused states --> 
    <item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_unselected_focused_holo" /> 
    <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_selected_focused_holo" /> 

    <!-- Pressed --> 
    <!-- Non focused states --> 
    <item android:state_focused="false" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/tab_unselected_pressed_holo" /> 
    <item android:state_focused="false" android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/tab_selected_pressed_holo" /> 

    <!-- Focused states --> 
    <item android:state_focused="true" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/tab_unselected_pressed_holo" /> 
    <item android:state_focused="true" android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/tab_selected_pressed_holo" /> 
</selector> 

Но вкладка стиль не применяется к tabhost. Синий цвет по умолчанию не изменяется на красный.

Я получаю эту

enter image description here

Любые идеи или предложения, пожалуйста.

+0

'андроида: tabWidgetStyle' должен указывать на стиль, простирающейся' Widget.TabWidget' (который, в свою очередь, будет переопределять один из его вкладок атрибутов, чтобы указать на 'tab_indicator_holo.xml' Drawable, что у вас есть). – Luksprog

ответ

5

Возможно, вы уже нашли ответ, но для тех, кто может столкнуться с одной и той же проблемой. Вот что я сделал.

  1. пойти custom holo theme и установить tabwedget в да и выбрать нужный цвет.

  2. Загрузить zip, скопируйте его в мой проект.

  3. Добавить в корзину с изображением, созданным путем раздувания tab_indicator_holo.

View mIndicator = inflater.inflate(R.layout.tab_indicator_holo, mTabHost.getTabWidget(), false); 
    TextView title1 = (TextView) mIndicator.findViewById(android.R.id.title); 

    title1.setText("TAB1"); 

    mTabsAdapter.addTab(mTabHost.newTabSpec("TAB1").setIndicator(mIndicator), FRAGMENT1.class, null); 

    View mIndicator2 = inflater.inflate(R.layout.tab_indicator_holo,  mTabHost.getTabWidget(), false); 
    TextView title2 = (TextView) mIndicator2.findViewById(android.R.id.title); 

    title2.setText("TAB2"); 
    mTabsAdapter.addTab(mTabHost.newTabSpec("TAB2").setIndicator(mIndicator2), FRAGMENT2.class, null);
+0

СПАСИБО! Это, наконец, именно то, что мне нужно. Потрясающие! – Zach

+0

NyanLH, можете ли вы заполнить свой пример кода? Какую функцию добавить? Откуда вздымается, от mTabsAdapter? – Gavriel

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