Comment définir la couleur / le style ActionBar personnalisé?

J’utilise la Android Navigation bar dans mon projet, je veux changer la couleur supérieure de la barre d’action en quelque chose de rouge, comment puis-je le faire? J’ai quelque chose comme ça,

haut noir

et je veux quelque chose comme ça,

rouge haut

Comment puis-je y arriver?

    Vous pouvez définir la couleur de la barre d’action (et d’autres éléments) en créant un style personnalisé :

    Editez simplement le fichier res / values ​​/ styles.xml de votre projet Android.

    Par exemple, comme ceci:

         

    Ensuite, définissez “MyCustomTheme” comme thème de votre activité contenant le ActionBar.

    Vous pouvez également définir une couleur pour le ActionBar comme ceci:

     ActionBar actionBar = getActionBar(); actionBar.setBackgroundDrawable(new ColorDrawable(Color.RED)); // set your desired color 

    Tiré d’ici: Comment changer la couleur d’arrière-plan du ActionBar d’une ActionBarActivity en utilisant XML?

    En général, Android OS exploite un «thème» pour permettre aux développeurs d’applications d’appliquer globalement un ensemble universel de parameters de style d’élément d’interface utilisateur à des applications Android dans leur ensemble ou à une sous-classe d’activité unique.

    Il existe donc trois «thèmes système» Android standard, que vous pouvez spécifier dans votre fichier XML Manifest Android lorsque vous développez des applications pour la version 3.0 et les versions ultérieures.

    Je fais référence à la bibliothèque de support (APPCOMPAT) ici: – Donc, les trois thèmes sont 1. Thème AppCompat Light (Theme.AppCompat.Light)

    entrer la description de l'image ici

    1. AppCompat Dark Theme (Theme.AppCompat),

    entrer la description de l'image ici

    1. Et un hybride entre ces deux-là, AppCompat Light Theme avec la Darker ActionBar. (Theme.AppCompat.Light.DarkActionBar)

    AndroidManifest.xml et voir la balise, le thème android est mentionné comme suit : – Android: theme = “@ style / AppTheme”

    Ouvrez le fichier Styles.xml et nous avons un thème d’application de base déclaré ici: –

      

    Nous devons remplacer ces éléments de thème parent pour donner un style à la barre d’action.

    ActionBar avec fond de couleur différente: –

    Pour ce faire, nous devons créer un nouveau style MyActionBar (vous pouvez donner n’importe quel nom) avec une référence parent à @ style / Widget.AppCompat.Light.ActionBar.Solid.Inverse qui contient les caractéristiques de style pour l’élément Android ActionBar UI. Donc, la définition serait

      

    Et cette définition, nous devons faire référence à notre AppTheme, en indiquant le style ActionBar surchargé comme–

    @ style / MyActionBar ActionBar avec la couleur de fond rose

    Changer la couleur du texte de la barre de titre (par exemple noir sur blanc): –

    Maintenant, pour changer la couleur du texte du titre, nous devons remplacer la référence parente parent = “@ style / TextAppearance.AppCompat.Widget.ActionBar.Title”>

    Donc, la définition du style serait

      

    Nous référencerons cette définition de style dans la définition de style MyActionBar , car la modification TitleTextStyle est un élément enfant d’un élément d’interface utilisateur de système d’exploitation parent ActionBar. Donc, la définition finale de l’élément de style MyActionBar sera

      

    Donc c’est le Styles.xml final

           

    ActionBar Avec couleur de titre blanche Pour d’autres options ActionBar Style de menu, référez – vous à ce lien

    Pour Android 3.0 et supérieur uniquement

    Lorsque vous ne supportez que Android 3.0 et supérieur, vous pouvez définir l’arrière-plan de la barre d’action comme suit:

    res / values ​​/ themes.xml

            

    Pour Android 2.1 et supérieur

    Lorsque vous utilisez la bibliothèque de support, votre fichier XML de style peut ressembler à ceci:

            

    Appliquez ensuite votre thème à l’ensemble de votre application ou à vos activités individuelles:

    pour plus de détails Documentaion

    Vous pouvez changer la couleur de la barre d’action de cette façon:

      

    C’est tout ce dont vous avez besoin pour changer la couleur de la barre d’action.

    De plus, si vous souhaitez modifier la couleur de la barre d’état, ajoutez simplement la ligne:

      @color/green_dark_action_bar 

    Voici une capture d’écran prise sur le site Android du développeur pour la rendre plus claire, et voici un lien pour en savoir plus sur la personnalisation de la palette de couleurs

    entrer la description de l'image ici

    Une autre possibilité de faire.

    actionBar.setBackgroundDrawable (new ColorDrawable (Color.parseColor (“# 0000ff”)));

    Couleur personnalisée:

       

    Style personnalisé:

       

    Pour plus: Android ActionBar

    Comme j’utilisais AppCompatActivity réponses ci-dessus n’ont pas fonctionné pour moi. Mais la solution ci-dessous a fonctionné:

    Dans res / styles.xml

        

    PS: j’ai utilisé colorPrimary au lieu d’ android:colorPrimary

    dans le style.xml ajoutez ce code

         

    Utilisez ceci – http://jgilfelt.github.io/android-actionbarstylegenerator/

    Bon outil pour personnaliser votre barre d’action avec un aperçu en direct en quelques minutes.