2016-09-28 3 views
0

Bonjour je fais un AppCompatActivity comme BaseActivity et dans d'autres toute l'activité I s'étend avec BaseActivity. Maintenant dans d'autres classes je dois changer tittle bar color et Tittle text.Besoin de changer la couleur de la barre de couleur dans AppCompatActivity

Ceci est mon toolbar.xml

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    app:layout_scrollFlags="scroll|enterAlways" 
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
    app:title="@string/app_name" /> 

Et setActionbar

@Override 
public void setactionbar(int color) { 
    // TODO Auto-generated method stub 

    getSupportActionBar().setBackgroundDrawable(new ColorDrawable(color)); 
    getSupportActionBar().setElevation(0); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    getSupportActionBar().setHomeButtonEnabled(true); 

} 

Mais pas obtenir le succès à changer de couleur et le texte

Merci d'avance.

+0

avez-vous essayé en définissant un thème différent à cette classe? –

+0

avez-vous essayé de changer le 'colorPrimary' dans' colors.xml' ?? –

+0

essayez de changer le color.xml. et si le problème persiste, postez votre fichier style.xml ici. –

Répondre

1

Try this ..

ActionBar actionBar = getSupportActionBar(); 
    actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#95CDBA"))); 
    actionBar.setTitle(Html.fromHtml("<font color='#000099'>Title bar</font>")); 

ou

actionBar.setBackgroundDrawable(new ColorDrawable(ContextCompat.getColor(this, R.color.yourcolor))); 

et ajouter cette option si vous voulez activer ou désactiver le titre

actionBar.setDisplayShowTitleEnabled(true); //for enable or false for disable 

Pour barre d'outils dont vous avez besoin d'aimer que

toolbar.setTitleTextColor(0xFFFFFFFF); 

ou

toolbar.setTitleTextColor(ContextCompat.getColor(this, R.color.yourcolor); 

Pour fond

toolbar.setBackgroundDrawable(new ColorDrawable(ContextCompat.getColor(this, R.color.yourcolor))); 
+0

Non ça ne fonctionne pas –

0

bonne façon de le faire est, D'abord, changement que vous thème ...

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="windowNoTitle">true</item> 
    <item name="colorPrimary">@color/your_title_bar_color</item> // default toolbar or actionbar color 
    <item name="colorPrimaryDark">@color/your_title_bar_color_dark</item> //statusbar color 
</style> 

changer maintenant votre barre d'outils ,

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="@dimen/abc_action_bar_default_height_material" 
    android:orientation="vertical" 
    android:background="@drawable/your_title_bar_color" 
    android:title="@string/app_name" 
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> 

Maintenant, dans les classe- rendre la méthode

private void setupToolbar() { 
    setSupportActionBar(mToolbar); 
} 

Tout ce que vous devez faire est d'appeler setupToolbar(). Codage heureux.