Action Bar Orange färben

F

Fabs44

Ambitioniertes Mitglied
1
Hi

Wie kann ich die Action Bar in Android Studio Orange färben?

MFG :)
 
Android Asset Studio

Aufpassen, dass die Einstellungen mit denen in deinem Projekt übereinstimmen (wenn "Holo" gewählt ist, solltest du auch ein Holo Design in deinem Projekt haben...
Und auf jeden Fall vorher etwas in die Materie einlesen... zB hier Asset Studio Integration - Android Tools Project Site
Gibt ein paar Dinge die man beachten muss (zB muss man noch ein paar Ressourcen nachladen, was super schnell gemacht ist und kaum Arbeit ist, wenn man weiß wie - jedenfalls war das die Erfahrung, die ich vor ca. 2 Monaten gemacht habe)

Vorgehensweise:
-Design gleich in der "Webmaske" ordentlich benennen (alles klein, keine Bindestriche und keine Zahlen haben sich bei mir immer als unproblematisch erwiesen - vielleicht ist es aber auch nicht wichtig...)
-Archiv runterladen
-Archiv in den /res-Ordner verschieben und dort entpacken (nicht in ein separates Verzeichnis - also "einfach ganz normal entpacken") <- das spart einem viel, viel Drag & Drop ;)
 
  • Danke
Reaktionen: Fabs44
Hi

Ich habe diesen Code gefunden:

ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable("COLOR";));

Doch wohin genau komm der bei der onCreateMethode hin?

MFG :)
 
Das kommt in die onCreate der Activity.
Aber du solltest dich wirklich mit Styles/Themes beschäftigen. Zwei Gründe dafür kann ich dir anbieten:

1. Performance. Deine app lädt bereits bei Start ein Theme. Dat gibt deiner Actionbar bereits eine Farbe (bzw. drawable). Und jetzt wiederholst du das im Code -> overhead

2. Optik. Aus 1. ergibt sich dann der "Überklatsch-Effekt". Die dunkle bzw. helle Actionbar ist erst sichtbar, wird dann mit einer neuen Farbe überschrieben.

Du musst nichtmal das ganze Assestzeug benutzen, um nur die Farbe zu ändern. Du brauchst auch keine extra drawable.

Setzt in AndroidManifest.xml ein <application> Theme. In diesem überschreibe actionBarStyle und setzt dort den Hintergrund als Farbe.
Z.B. so:
Code:
    <style name="MeinAppTheme" parent="Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/ActionBarStyle</item>
    </style>
    
    <style name="ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">@color/orange</item>
    </style>
 
  • Danke
Reaktionen: Fabs44 und ui_3k1
Hi


Erstmal Vielen Dank für eure Antworten!

Der Code funzt irgendwie nicht.
Min Sdk ist 10.


<application>

<style name="MeinAppTheme" parent="Theme.Holo.Light">
<item name="android:actionBarStyle">@style/ActionBarStyle</item>
</style>

<style name="ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">@color/orange</item>
</style>

android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"

<activity

android:name=".Fassenger"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>


</application>


Warum funzt es nicht?

MFG Fabs44:D
 
Hello,
hab die Methode, die ich dir gestern empfohlen habe, gerade selbst nochmal ausprobiert... Funktioniert :)

Hier die "Anleitung"...

Vorweg:
1. mit Theme-Paket ist das Archiv "ActionBar" gemeint (also hier: Android Action Bar Style Generator)
2. mit Farb-Paket das Archiv, das man zusätzlich zu dem Theme laden kann / sollte. (hier: Android Holo Colors)

Die Vorgehensweise sieht dann wie folgt aus:
In der Datei "styles_DER_NAME_DES_THEMES" (aus Theme-Paket) muss die "erste Zeile" so geändert werden, dass die Farben, die man zusätzlich heruntergeladen hat, mit dem Theme verlinkt sind.
Besagte xml-Datei sollte so, oder so ähnlich beginnen:

Code:
<?xml version="1.0" encoding="utf-8"?>

<resources>

    <style name="Theme.White_kings" parent="@style/white_kings_cols">
        <item name="android:actionBarItemBackground">@drawable/selectable_background_white_kings</item>
        <item name="android:popupMenuStyle">@style/PopupMenu.White_kings</item>
        <item name="android:dropDownListViewStyle">@style/DropDownListView.White_kings</item>
        <item name="android:actionBarTabStyle">@style/ActionBarTabStyle.White_kings</item>
        <item name="android:actionDropDownStyle">@style/DropDownNav.White_kings</item>
        <item name="android:actionBarStyle">@style/ActionBar.Solid.White_kings</item>
        
[...]

Randbemerkung: Kann sich vielleicht je nach Projekt-Einstellung (eher: "je nachdem was im Webtool angeklickt wurde") etwas ändern..


Und wie oben schon beschrieben, wird dort:

Code:
<style name="Theme.White_kings" parent="@[COLOR=Red]android:style/Theme.Holo.Light[/COLOR]">
dann zu
Code:
<style name="Theme.White_kings" parent="@[COLOR=DarkGreen]style/white_kings_cols[/COLOR]">
Für das Beispiel habe ich folgende Namen vergeben:
Name des Themes (ActionBar): actionbar_style_white_kings (im Web-Tool: "white_kings")
Name des Farbpakets: android-holo-colors-white_kings_cols (im Web-Tool: "white_kings_cols"


Ich hoffe du wirst schlau draus :)
Dort auf Fehlersuche zu gehen ist meist nicht so spaßig^^ (am Schlimmsten ist es fast noch, wenn es keine Fehlermeldungen gibt - nur zB irgendwelche Farbwerte nicht passen...)

Schritt 1 lautet deswegen immer "Projektordner sichern"

Ach so... auch noch mal der Hinweis: damit das Ganze funktioniert, musst du im Webtool die richtigen Angaben zu deinem Projekt machen.

 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Fabs44
Hi
Muss man unbedingt den Generator verwenden, weil die fordern ein Copyright Hinweis in der App.

MFG Fabs44
:D
 
Hehe, die Bedenken kommen mir bekannt vor.^^
Du lädst ja nur die Ressourcen, und dafür sind sie übrigens auch da. :)
Ich glaube Google verweist selbst an einer Stelle auf dieses Projekt... (vielleicht täusche ich mich aber auch).
Ich bin auch meist vorsichtig und frage lieber 2x nach, bzw. bin selbst überhaupt nicht der Mensch der auf Engines steht - aber mit all dem ist der Generator nicht zu vergleichen. Der erstellt nur "originale" Ressourcen in anderen Farben...
 
  • Danke
Reaktionen: Fabs44
Hi
Was meinst du mit richtige Angaben im Webtool.
MFG Fabian :D
 
Wenn du im Projekt eine Holo ActionBar Light verwendest, darf in der Webmaske nicht Holo Dark ActionBar stehen. Genauso verhält es sich mit der Auswahl ob du "Sherlock" nutzt..
Würde mich am Anfang erstmal darum bemühen die App auf API 15 - 19 (20) zu beschränken (das macht meiner Meinung nach vieles einfacher und sollten trotzdem noch weit mehr als 50% der Geräte sein...)
 
  • Danke
Reaktionen: Fabs44
Hi

Kann man es auch einfacher mit diesem Code machen?
HTML:
ActionBar bar = getActionBar(); 
bar.setBackgroundDrawable(new ColorDrawable("COLOR");

Wohin genau müsste der Code in die On Create Activity?

HTML:
...
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_appname_home);

        webview = (WebView)findViewById (R.id.webview);
        webview.getSettings().setJavaScriptEnabled(true);
        webview.loadUrl("URLURLURL");
        
        webview.setWebViewClient(new WebViewClient() { 
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url){return false;}
    });
    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.appname_home, menu);
        return true;
    }
...

LG Fabi :)
 
Zuletzt bearbeitet:

Ähnliche Themen

A
  • AnimaAngelo85
Antworten
1
Aufrufe
335
swa00
swa00
MES
Antworten
10
Aufrufe
819
MES
MES
Tiefkuehlpizza
Antworten
1
Aufrufe
859
Tiefkuehlpizza
Tiefkuehlpizza
Zurück
Oben Unten