2016-03-25 2 views
2

Very Novice Android Programmer hier angezeigt. Ich habe dieses kleine Programm, wo ich meine Hauptaktivität habe und wann immer der Benutzer auf eine Option klickt, wird eine neue Aktivität geöffnet. Ich versuche, die Farbe der oberen Symbolleiste/Aktionsleiste für jede andere Aktivität zu ändern. Ich habe versucht, in der onCreate() -Methode, die Farbe durch Java-Code innerhalb der Aktivitätsklasse zu ändern, Android API 15. Ich habe Symbolleisten in meinen Aktivitäten, aber sie sind nicht in XML

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 

     getActionBar().setBackgroundDrawable(
       getResources().getDrawable(R.drawable.gradient)); 

aber würde das Programm immer abstürzen, wenn ich zu meiner Tätigkeit wechseln würde.

Ich habe in der XML-Datei meiner Aktivität gesucht und die Symbolleiste/Aktionscode wird nirgends angezeigt, aber es tut in meiner Haupttätigkeit, app_bar_main.xml. Ich frage mich, warum die Aktionsleiste in Activies angezeigt wird, wenn sie nicht in der XML-Datei für die Aktivität angezeigt wird. Wie ändere ich die Farbe der Aktionsleiste für neu hinzugefügte Nicht-Hauptaktivitäten?

Antwort

0

Ich schätze, Sie verwenden App-Thema mit Aktionsleiste. In res/styles.xml Ihr Thema NoActionBar Version ändern:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <!-- Customize your theme here. --> 
</style> 

Jetzt ActionBar nicht sichtbar sein sollte. Fügen Sie Ihren Toolbar-XML-Code anderen Aktivitätslayouts hinzu.

0

Versuchen Sie dies, wird es funktionieren:

ActionBar bar = getActionBar();

bar.setBackgroundDrawable (neues ColorDrawable ("COLOR"));

+0

Ich habe dies für meine Haupt- und meine anderen Aktivitäten versucht und es funktioniert nicht. – skimmer001

+0

Aus irgendeinem Grund funktionierte das ... getSupportActionBar(). SetBackgroundDrawable (getDrawable (R.drawable.green)); aber es sagt, ich brauche API 21 – skimmer001

Verwandte Themen