ICS Android: supprimer le diviseur bleu dans ActionBar?

je travaille sur une application qui sera plein écran, mais qui utilisera certaines des fonctionnalités de la barre D'action. Avec le sable de crème glacée qui se libèrent, je vois que je reçois un diviseur/séparateur ligne bleue dans le cadre de la barre D'action. Normalement, ce serait bon pour la cohérence, mais dans mon cas, je dois enlever le diviseur.

Comment puis-je supprimer ou styliser le diviseur de la barre D'action dans ICS?

essayé de définir un thème personnalisé avec "android: style / Widget.Holo.ActionBar" en tant que parent. Cependant, des réglages comme celui ci-dessous n'ont aucun effet

<item name="android:divider">#FFFFFF</item>
31
demandé sur dparnas 2012-01-02 23:52:40

4 réponses

l'élément graphique contenant la ligne de fond bleue est l'arrière-plan de la vue conteneur de la barre d'action et est réglé à @android:drawable/ab_transparent_dark_holo lorsque vous utilisez le thème Dark Holo par défaut.

Pour supprimer cette ligne, vous aurez besoin de créer un style personnalisé pour votre barre d'action (basé sur Widget.Holo.ActionBar ou Widget.Holo.Light.ActionBar (ou .Solid variantes) et mettre le android:background pour quelque chose qui ne comprennent pas la bordure du bas:

<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>

Remarque:: les barres D'action Holo Dark/Light sont solides et styles transparents; cette ligne bleue apparaît par défaut pour le style transparent. Les barres D'action Holo Dark sont transparentes par défaut et les barres D'action Holo Light sont solides par défaut.

65
répondu Roman Nurik 2012-01-04 16:28:31

voici un moyen simple de supprimer le diviseur, fonctionne à partir de L'API 07 en utilisant le compat ActionBar de la bibliothèque de soutien:

@Override
public void onCreate(Bundle savedInstanceState) {
        //...
        getSupportActionBar().setBackgroundDrawable(
            getResources().getDrawable(R.drawable.whatever_you_want));
        //...
}  
2
répondu auval 2013-10-08 14:17:51

changer le thème de l'activité en Thème.Holo.Lumière.DarkActionBar supprime la ligne bleue.

<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>

si vous voulez toujours un fond noir, vous pouvez changer android:windowBackground et / ou android:textColor

1
répondu repkap11 2014-07-15 14:16:47

ajouter <item name="android:windowContentOverlay">@null</item> à votre thème d'application.

-2
répondu smileVann 2014-08-09 15:18:08