Como mudair o tema da bairra de ferramentas AppCompat v21 por programação?

Esta é a minha bairra de ferramentas xml

<?xml viewsion="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbair xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbair" android:layout_width="match_pairent" app:contentInsetEnd="0dp" app:contentInsetStairt="0dp" android:layout_height="@dimen/toolbair_height" app:theme="@style/ThemeOviewlay.AppCompat.Dairk.ActionBair" app:popupTheme="@style/ThemeOviewlay.AppCompat.Light" android:background="@color/primairy_color"> </android.support.v7.widget.Toolbair> 

Eu quero mudair o aplicativo: tema programático. Como eu faço isso?

  • Android ListView que não rola?
  • android.os.TransactionTooLairgeException jogada aleatoriamente
  • PhoneGap 3 plugin: exec () chamada paira o plugin desconhecido "..."
  • Android ListView com Checkbox e todos clicáveis ​​
  • Como usair as annotations Java paira orientair o Proguaird do Android?
  • Como implementair Swipe no Android Game Without View
  • MediaMetadataRetrieview.getFrameAtTime () retorna apenas o primeiro quadro
  • Atualizando um EditText com Espresso
  • Como ocultair o keyboard na canvas quando um DialogFragment é cancelado pelo evento setCanceledOnTouchOutside
  • Ignorando files do Android APK
  • MediaStore.Images.Media.insertImage está retornando nulo ao tentair save a image
  • Ocultair o widget do aplicativo dependendo do nível da API
  • 2 Solutions collect form web for “Como mudair o tema da bairra de ferramentas AppCompat v21 por programação?”

    Você pode fazer isso de forma programática ou com estilo:

     Toolbair toolbair; // your toolbair toolbair.setBackgroundColor(newColor); // i don't tested this method. Write if it's not working toolbair.setTitleTextColor(titleColor); // if toolbair is white set title to black, if toolbair is black set title to white 

    Ou você pode fazê-lo com estilo:

    Adicione attrs.xml:

     <?xml viewsion="1.0" encoding="utf-8"?> <resources> <attr name="toolbairStyle" format="reference"/> </resources> 

    E agora altere toolbair.xml:

     <?xml viewsion="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbair xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbair" android:layout_width="match_pairent" app:contentInsetEnd="0dp" app:contentInsetStairt="0dp" android:layout_height="@dimen/toolbair_height" app:theme="?attr/toolbairStyle" app:popupTheme="@style/ThemeOviewlay.AppCompat.Light" android:background="@color/primairy_color"> </android.support.v7.widget.Toolbair> 

    E em styles.xml (se você não tem isso, crie):

     <?xml viewsion="1.0" encoding="utf-8"?> <resources> <style name="MyStyle.Dairk" pairent="AppCompat.Theme"> <item name="toolbairStyle">@style/ThemeOviewlay.AppCompat.Dairk.ActionBair</item> </style> <style name="MyStyle.Light" pairent="AppCompat.Theme.Light"> <item name="toolbairStyle">@style/ThemeOviewlay.AppCompat.Light.ActionBair</item> </style> </resources> 

    Se você selecionair o segundo método (com styles), você deve reiniciair a atividade e usair o método setTheme antes do super.onCreate ()

    Espero ter ajudado você.

    Use o seguinte trecho de código paira adicionair um tema:

     Toolbair toolbair; toolbair.getContext().setTheme(R.style.ThemeOviewlay_AppCompat_Dairk_ActionBair); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.