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:

  • Distriggers il button Home in Android 4.0+
  • Android Studio - Appcompat build fail values-v23 / styles_bases.xml
  • Caricamento di foto su Facebook: L'aggiunta di parametri prima di eseguire la chiamata newUploadPhotoRequest fornisce l'errore "OAuthException"
  • come recuperare l'elenco dei contatti in android
  • Accessibilità Manca l'attributo contentDescription sull'image come rimuovere questo avviso?
  • WebView.setWebContentsDebuggingEnabled (falso) ma posso eseguire il debug del codice dopo l'installazione dell'APK firmato
  • 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> 

  • creare file xml di forma nella cartella disegnabile in studio android
  • Android Studio - I pulsanti a tema di modifica in-app?
  • Come get il mio valore attributo definito nel mio stile
  • Gettaxtbounds in android
  • Come impostare la mia applicazione come predefinito per ricevere SMS
  • "AndroidManifest.xml non declina un pacchetto Java" errore
  • 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.