2012-08-14 15 views
6

. Herkes beni İşlem Çubuğu altında (NavigationMode NAVIGATION_MODE_TABS olan) görüntülenen Sekmeler özelleştirmek yardımcı olabilir misiniz?özelleştirme İşlem Çubuğu TabBar (ActionBarSherlock) Şimdi bazı gün boyunca bu konuda üstümüze

Temelde sekmelerin arka plan rengini ve seçili Tab çizili rengini değiştirmek istiyorum. Şimdiye kadar yaptığım bu, ama işe yaramıyor. ActionBarSherlock kullanıyorum.

<style name="Theme.Styled" parent="@style/Theme.Sherlock.Light"> 
    <item name="actionBarStyle">@style/Widget.Theme.Styled.ActionBar</item> 
    <item name="android:actionBarStyle">@style/Widget.Theme.Styled.ActionBar</item> 

    <item name="actionBarTabBarStyle">@style/customActionBarTabStyle</item> 
    <item name="android:actionBarTabBarStyle">@style/customActionBarTabStyle</item> 

    <item name="actionBarTabBarStyle">@style/customActionBarTabBarStyle</item> 
    <item name="android:actionBarTabBarStyle">@style/customActionBarTabBarStyle</item> 

    <item name="actionBarTabTextStyle">@style/customActionBarTabTextStyle</item> 
    <item name="android:actionBarTabTextStyle">@style/customActionBarTabTextStyle</item> 
</style> 

<style name="customActionBarTabStyle" parent="style/Widget.Sherlock.Light.ActionBar.TabView"> 
    <item name="android:background">@color/red</item> 

    <item name="android:textSize">12dp</item> 

</style> 

<style name="customActionBarTabBarStyle" parent="style/Widget.Sherlock.Light.ActionBar.TabBar"> 
    <item name="android:background">@color/red</item> 
</style> 

<style name="customActionBarTabTextStyle" parent="style/Widget.Sherlock.Light.ActionBar.TabText"> 
    <item name="android:titleTextStyle">@style/Theme.Styled.ActionBar.TitleTextStyle</item> 
    <item name="android:textStyle">bold</item> 
</style> 

<style name="Widget.Theme.Styled.ActionBar" parent="Widget.Sherlock.ActionBar"> 
    <item name="android:background">#A9E2F3</item> 
    <item name="background">#A9E2F3</item> 
    <item name="android:titleTextStyle">@style/Theme.Styled.ActionBar.TitleTextStyle</item> 
</style> 

<style name="Theme.Styled.ActionBar.TitleTextStyle" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title"> 
    <item name="android:textColor">@color/red</item> 
    <item name="android:textStyle">bold</item> 
</style> 

<style name="Animations" /> 

cevap

3

Kullanılabilir style generator kullanabilir veya this veya this ilgili soruya biraz daha fazla bilgi sahibi olabilirsiniz.

+1

İşte ben Sherlock eylemi http://krishnalalstha.wordpress.com/2012/12/21/styling-sherlock-actionbar-change-actionbar-color/ –

17

Artık bu gerekiyorsa emin değilim ama diğer insanlar görmek için cevap yayınlayacağız. Yani burada kaynaklar 2 Katman Listeleri olan

<!-- This is the "@drawable/actionbar_tabs_selector" layout !--> 

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/actionbar_tab_style_nselected"/> 
    <item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/actionbar_tab_style_selected"/> 

    <!-- Pressed state --> 
    <item android:state_pressed="true" android:drawable="@drawable/actionbar_tab_style_selected" /> 

    <!-- Focused state --> 
    <item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/actionbar_tab_style_nselected"/> 
    <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/actionbar_tab_style_nselected"/> 

</selector> 

: Kaynak bu satırlar arasında Seçici şey olmalı

<style name="customActionBarTabStyle" parent="style/Widget.Sherlock.Light.ActionBar.TabView"> 
    <item name="android:background">@drawable/actionbar_tabs_selector</item> 
    <item name="android:textSize">12dp</item> 
</style> 

: Bir Drawable kaynak olarak customActionBarTabStyle arka planında Drawable bu ayarlayabilirsiniz . sekme inaktif olduğunda One ve sekme seçildiğinde diğeri aktif. Böylece seçilen duruma bağlı olarak 2 Katman Listesi belirlediniz.

Tek Katman Listesi aşağıdaki gibi görünebilir:

<!-- This is the "@drawable/actionbar_tab_style_nselected" layout !--> 

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

    <!-- Bottom Line --> 
    <item> 
     <shape android:shape="rectangle"> 
      <solid android:color="@color/HCL_orange" /> 
     </shape> 
    </item> 

    <!-- Tab color --> 
    <item android:bottom="2dip"> 
     <shape android:shape="rectangle"> 
      <solid android:color="@android:color/white" /> 
     </shape> 
    </item> 
</layer-list> 

Böylece ilk öğe seçili Tab sizin altını renk olarak tanımlayabiliriz İşin özü ve ikinci öğe rengidir tüm sekme.

+0

Güzel cevap stil üzerinde birkaç şey açıkladık. :) –

+2

Teşekkürler. Ben de kötü belgeler nedeniyle Android'in stil ve temaları ile mücadele ediyorum. teşekkür - Ve bu i arıyordu tam olarak ne gerçekten utanç ... – Tooroop

+0

var! – martyglaubitz

İlgili konular