2012-01-02 72 views
31

我正在開發一款全屏應用,但會利用ActionBar的一些功能。隨着冰淇淋Sandwhich發佈,我看到我得到一個藍色的分隔線/分隔符作爲ActionBar的一部分。通常情況下,這對一致性很好,但在我的情況下,我需要刪除分隔線。Android ICS:刪除ActionBar中的藍色分隔線?

如何刪除或設置ICS中的ActionBar分隔符?

嘗試使用「android:style/Widget.Holo.ActionBar」作爲父母設置自定義主題。 然而,由於這樣的設置的一個下面沒有效果

<item name="android:divider">#FFFFFF</item> 
+0

這可能有助於:http://stackoverflow.com/questions/6072226/how-to-style-the-menu-items-on-an-android-action-bar 另外,你還記得選擇你的自定義Manifest或您的代碼中的主題? – 2012-01-03 19:08:53

回答

65

含有藍色底行中的圖形資產是在操作欄的容器視圖的背景和使用默認全息深色主題時被設置爲@android:drawable/ab_transparent_dark_holo

要刪除這條線,你需要創建一個自定義樣式你的動作條(基於Widget.Holo.ActionBarWidget.Holo.Light.ActionBar(或.Solid變體),並設置android:background的東西,不包括在底邊框:

<style name="MyTheme" parent="android:Theme.Holo"> 
    <item name="android:actionBarStyle">@style/MyActionBar</item> 
</style> 

<style name="MyActionBar" parent="android:Widget.Holo.ActionBar"> 
    <item name="android:background">@drawable/your_background_here</item> 
</style> 

注意:全息深/淺的動作條有固體和透明的風格,似乎這藍線默認爲透明風格全息暗的動作條是透明的默認和全息光操作欄默認情況下固體。 。

+0

優秀,解決了問題 – dparnas 2012-01-04 19:48:53

+0

android:Theme.Holo僅適用於API 11.我如何爲舊API做此操作。 – androidevil 2013-07-31 18:25:08

+9

注意:設置' @ android:color/transparent'會移除分隔符。 – 2014-04-07 01:27:04

2

這裏有一個簡單的方法來去除分頻器,使用actionbarcompat從支持庫從API 07的工作原理:

@Override 
public void onCreate(Bundle savedInstanceState) { 
     //... 
     getSupportActionBar().setBackgroundDrawable(
      getResources().getDrawable(R.drawable.whatever_you_want)); 
     //... 
} 
1

更改活動主題Theme.Holo.Light.DarkActionBar刪除藍線。

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"> 
    <item name="android:windowBackground">@android:color/black</item> 
    <item name="android:textColor">@android:color/white</item> 
</style> 

如果你還是想你可能要更改Android的黑色背景:windowBackground和/或Android:文字顏色

-2

添加此<item name="android:windowContentOverlay">@null</item>到您的應用程序的主題。