6

我使用ActionBarSherlock使我的應用程序與舊設備兼容。實現很簡單,但現在我需要將在標籤下看到的默認Holo藍線設置爲紅線。更改標籤中的線條顏色 - ActionBarSherlock

我一直在閱讀幾個主題(topic 1topic 2)在這裏SO和ABS文檔(link),但我不能得到它的工作。

這就是我到目前爲止。

在我的AndroidManifest.xml中,我將此行添加到application標記。

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/Theme.Sherlock" > <!-- SET THE DEFAULT THEME --> 

然後在res/values/styles.xml我有:

<resources> 
    <style name="AppTheme" parent="android:Theme.Light" /> 

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

    <style name="Widget.MyTheme.ActionBar" parent="Widget.Sherlock.ActionBar"> 
     <item name="android:background">#ff000000</item> 
     <item name="background">#ff000000</item> 
    </style> 
</resources> 

但是當我運行我的應用程序,那麼我仍然看到默認的藍色線條顏色。

我在做什麼錯了?


編輯

閱讀本如果你想完全風格你ActionBarSherlock!

我發現這裏的SO答案這給了下面的鏈接: http://jgilfelt.github.com/android-actionbarstylegenerator

這是一個簡單發生器,產生所需的所有文件的完全定製的ABS!您只需將生成的文件複製到適當的文件夾中即可設置!

不要忘記在您的AndroidManifest中啓用樣式(您必須在生成器中輸入樣式名稱)。爲此,請參閱下面的答案。

回答

8

有幾件事情:

你並不真的需要<style name="AppTheme" parent="android:Theme.Light" />了,除非你想改變它繼承Theme.Sherlock和使用你的應用程序的主題。如果你決定這樣做,你將不得不使用Theme.MyTheme進行活動。

無論哪種方式,來解決你想改變

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/Theme.Sherlock" > 

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/Theme.MyTheme" > 

的問題,或者你可以直接申請主題,以你的活動:

<activity 
    android:name="com.awesome.package.activity.SomeActivity" 
    android:theme="@style/Theme.MyTheme"/> 

旁註,我推薦這個excellent actionbar theme generator

+0

如何使用它它不會降級? – PankajAndroid 2013-08-01 07:23:06

1

集清單檔案中的主題如下:

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/Theme.MyTheme" > 

它會保留所有的福爾摩斯主題,將增加您的自定義樣式。