Modifica del colore di background della barra degli strumenti a livello di programmazione non modifica il titolo della barra degli strumenti

Sto cercando di cambiare la priorità colore della barra degli strumenti in modo programmato facendo questo:

getSupportActionBar().setBackgroundDrawable(newColorDrawable(getResources().getColor(R.color.test_color_blue))); 

E questo è il risultato:

  • Android - Come fare menu di diapositive come facebook, spotify e Google +
  • Bloccato l'invio di SMS dall'applicazione di messaggistica predefinita
  • È ansible creare un HashMap parcelable su Android?
  • Caricare l'image salvata in sdcard in webview
  • Nove patch image non funziona sul mio dispositivo?
  • Menu personalizzato sul clic del button come drop down
  • prima:

    immettere qui la descrizione dell'immagine

    Dopo:

    immettere qui la descrizione dell'immagine

    Alcune di come il titolo della barra degli strumenti ha ancora lo stesso colore di background di prima.

    qui è la barra degli strumenti xml:

     <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:theme="@style/Theme.Toolbar"> 

    Ecco il tema:

     <style name="Theme.Toolbar" parent="ThemeOverlay.AppCompat.Dark.ActionBar"> <item name="android:maxHeight">@dimen/abc_action_bar_default_height_material</item> <item name="android:background">@color/primary</item> <item name="colorPrimary">@color/primary</item> <item name="colorPrimaryDark">@color/primary_dark</item> <item name="colorAccent">@android:color/white</item> <item name="titleTextAppearance">@style/Theme.Toolbar.Title</item> </style> 

  • Come combinare il cassetto di navigazione e la spinta
  • Carica il file binario con okhttp dalle risorse
  • Cambiare l'image di un contatto a una foto grande tramite PHOTO_FILE_ID in Android
  • Parole cliccabili in un TextView
  • Come verificare se una string TextView è stata tagliata (marquee)?
  • Android - FirebaseListAdapter in ordine inverso?
  • 4 Solutions collect form web for “Modifica del colore di background della barra degli strumenti a livello di programmazione non modifica il titolo della barra degli strumenti”

    Modificare il codice come segue:

    toolbar.xml

     <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" style="@style/MyToolbarStyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical"> 

    Tema / stile

     <style name="MyToolbarStyle"> <item name="android:maxHeight">@dimen/abc_action_bar_default_height_material</item> <item name="android:background">@color/primary</item> <item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item> <item name="titleTextAppearance">@style/Theme.Toolbar.Title</item> <!-- No need for colorPrimary, colorPrimaryDark, colorAccent here this should go to the AppTheme --> </style> 

    Risultato

    Prima di impostare il nuovo colore di background:

    immagine prima del cambiamento di colore di sfondo

    e dopo:

    immagine dopo il cambiamento di colore di sfondo

    utilizzare questo per accedere alla visualizzazione di text

     public void changeToggleTitle() { if (mToolbar != null) { for(int i= 0; i < mToolbar.getChildCount(); i++){ View v = mToolbar.getChildAt(i); if(v != null && v instanceof TextView){ TextView t = (TextView) v; // Do the magic } } } } 

    Tardi, ma spero che sarebbe utile commentare

    Ho avuto questo item nel mio stile di attività

     <item name="android:background">someColor</item> 

    quindi quando ho cambiato colore della toolbar , il titolo e le voci di menu non hanno cambiato background. Ho appena rimosso questo item e ora funziona perfettamente.

    Non avevo tempo per capire i dettagli, ma penso che potrebbe essere utile a qualcun altro.

     mToolbar.setBackgroundResource(mGameEnum.getPrimeColorRes()); 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.